2010-11-25 28 views
120

Her zaman bir kaynak dosyasını VS'de düzenlerim, ilgili kodu yeniden oluşturur ve sınıf erişim değiştiricisini dahili olarak ayarlar.
Ctrl-F -> ReplaceAll ile ilgili her seferinde bir düzeltme yaptığım zaman. Bu özelliği herkese açıklayabilmem için bir özellik/ayar var mı?Visual Studio - Resx Dosya varsayılan 'internal' - 'public' için

internal class MyResource { 

    internal static global::System.Resources.ResourceManager ResourceManager {...} 

} 

Ben her zaman public olmak tüm bu internal gerekir.

+0

@jvanrhyn: Çünkü kaynak yöneticisine çözümdeki başka bir projeden erişmem gerekiyor. –

cevap

240

ResXFileCodeGenerator yerine PublicResXFileCodeGenerator kullanın.

Bunu, herkese açık erişime sahip Resx dosyası için Özellik Penceresinde Özel Araç özelliği olarak ayarlayarak yapabilirsiniz.

Düzenleme: Alternatif olarak, Visual Studio'da resx dosyasını açtığınızda Erişim Değiştiricisi'ni herkese açık olarak ayarlayabilirsiniz. Erişim Değiştirici açılır kutusu, formun en üstünde bulunabilir.

+11

(İyi cevap; ama sadece bazı notlar; aynı zamanda "ResXFileCodeGenerator" değil "GlobalResourceProxyGenerator" da olabilir ve "Access Modofier" açılır menüsünün de genellikle devre dışı olduğunu unutmayın) –

+3

@Marc: Thx, her gün yeni bir şey öğreniyorum :) +1. – Anton

+0

@Anton: Teşekkürler, davamda çalışıyor. Ayrıca, açılır menüden erişim değiştiricisini değiştirmenin ilgili aracı değiştirdiğini fark ettim. –

-5

Belki de en kolay yol bir Public ctor ile türetilmiş bir sınıf oluşturmaktır?

oluşturulan sınıfı:

[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 
    internal Strings() { 
    } 

türetilmiş sınıf:

public class PublicStrings : Strings 
{ 
    /// <summary> 
    /// Public localization Strings. 
    /// </summary> 
    public PublicStrings() 
    { 

    } 
} 
+9

Bu mümkün değil. Bir hata alacaksınız CS0060 Tutarsız erişilebilirlik: 'Strings' temel sınıfı 'PublicStrings' sınıfından daha az erişilebilir –

1

1) Kaynak dosyası (resource.resx) => Özellikleri sağ tıklayın.

2) Özel Araç => Genel Olarak DeğiştirResXFileCodeGenerator Bitti.