Inaccessible, À L'Interne, Les Fichiers De Ressources?
Je suis de la construction d'une ASP.NET MVC 4 site web avec C#. Je suis la localisation de tous mes statiques chaînes de caractères dans un Fichier de Ressources (.resx
). J'utilise Visual Studio interface de créer et de remplir le fichier de ressources. Dans mon index.cshtml
vue, j'essaie d'utiliser l'une des chaînes à partir de la ressource de fichier, comme ceci:
@using Namespace.To.RESX.File
...
<h1>@EN_US.GLOBAL_NAME</h1>
<h2>“@EN_US.GLOBAL_SLOGAN”</h2>
...
Je peux compiler l'application, mais j'obtiens une erreur à l'exécution, lorsque je charge la page, en disant:
Compiler Error Message: CS0122: 'Namespace.To.RESX.File.EN_US' is inaccessible due to its protection level
À la recherche dans le resx concepteur de fichier, je peux voir la classe et tous ses membres sont marqués comme internal
. Je comprends parfaitement ce que le C# de contrôle d'accès modificateurs ne sont, comment ils fonctionnent, etc... mais je ne comprends pas pourquoi Visual Studio serait de restreindre l'accès à la ressource, les membres de ce genre.
Pourquoi Visual Studio faire cela? Est-il un moyen (facile) pour modifier ces de contrôle d'accès des modificateurs, ou suis-je à côté de la question des fichiers de ressources complètement?
Vous devez vous connecter pour publier un commentaire.
Yep... n'ai pas vu cela. Ouvrir le fichier de ressources dans la conception de mode et de changer le modificateur d'accès (au moins, sur VS 2013):
Pour le Mac /visual studio 2017 les gars , Ouvrez .Fichier de concepteur et de faire vos classes public :
Dossier:
Changement interne du public et de l'enregistrer:
Mise à jour: Il peut par Défaut interne. chaque fois que vous apportez des modifications à laquelle vous voulez effectuer ce changement énumérés ici
Clic droit sur fichier de Ressources (
resource.resx
) => Propriétés.Outil personnalisé => Changement de
PublicResXFileCodeGenerator