Visual Studio-fichier Resx par défaut 'interne' à 'public'

Chaque fois que je modifie un fichier de ressources dans VS, il régénère le code correspondant et définit le modificateur d'accès de classe sur interne.
C'est une douleur à Ctrl-F -> ReplaceAll chaque fois que j'édite le resx. Y a - t-il une propriété / paramètre pour que je puisse le faire par défaut à public?

internal class MyResource {

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

}

J'ai besoin que tous ces {[1] } soient public tout le temps.

131
demandé sur Robin Maben 2010-11-25 09:28:13

3 réponses

Au lieu du ResXFileCodeGenerator, utilisez le PublicResXFileCodeGenerator.

Vous pouvez le faire en définissant la propriété Custom Tool dans la fenêtre Property pour le fichier Resx auquel vous souhaitez accéder au public.

Edit : alternativement, vous pouvez définir le modificateur D'accès sur public lorsque vous ouvrez le fichier resx dans Visual Studio. La liste déroulante modificateur D'accès se trouve en haut du formulaire.

264
répondu Anton 2018-08-22 04:30:38
  1. Clic Droit sur fichier de Ressources ( resource.resx ) => Propriétés.

  2. Outil Personnalisé => Changement de PublicResXFileCodeGenerator

4
répondu user274294 2018-08-22 04:29:37

Peut-être que le plus simple est de créer une classe dérivée avec un ctor Public?

La classe générée:

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

La classe dérivée:

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

    }
}
-5
répondu Trond Ivar Lindberg 2013-03-18 05:27:53