Недопустимые, внутренние, файлы ресурсов?

18

Я создаю веб-сайт ASP.NET MVC 4 с C #. Я локализую все свои статические строки в файле ресурсов ( .resx ). Я использую интерфейс Visual Studio для создания и заполнения файла ресурсов. В моем представлении index.cshtml я пытаюсь использовать одну из строк из файла ресурсов, например:

@using Namespace.To.RESX.File

...

<h1>@EN_US.GLOBAL_NAME</h1>
<h2>&ldquo;@EN_US.GLOBAL_SLOGAN&rdquo;</h2>

...

Я могу скомпилировать приложение, но при загрузке страницы получаю ошибку во время выполнения, говоря:

Compiler Error Message: CS0122: 'Namespace.To.RESX.File.EN_US' is inaccessible due to its protection level

В файле конструктора resx я вижу класс, и все его члены помечены как internal . Я полностью понимаю, что делают модификаторы управления доступом C #, как они работают и т. Д., Но я не понимаю, почему Visual Studio ограничивает доступ к таким ресурсам, как это.

Почему Visual Studio сделает это? Есть ли (простой) способ изменить эти модификаторы управления доступом, или я полностью теряю точку файлов ресурсов?

    
задан Oliver Spryn 18.07.2014 в 23:11
источник

1 ответ

46

Да ... не видел этого. Откройте файл ресурсов в режиме разработки и измените модификатор доступа (по крайней мере, на VS 2013):

    
ответ дан Oliver Spryn 18.07.2014 в 23:19
источник
  • , но внутренние должны по-прежнему работать, если они находятся в рамках одного и того же проекта? –  Backwards_Dave 28.04.2018 в 01:25