Я создаю веб-сайт ASP.NET MVC 4 с С#. Я локализую все мои статические строки в файле ресурсов (.resx
). Я использую интерфейс Visual Studio для создания и заполнения файла ресурсов. В моем представлении index.cshtml
я пытаюсь использовать одну из строк из файла ресурсов, например:
@using Namespace.To.RESX.File
...
<h1>@EN_US.GLOBAL_NAME</h1>
<h2>“@EN_US.GLOBAL_SLOGAN”</h2>
...
Я могу скомпилировать приложение, но при загрузке страницы получаю ошибку во время выполнения, говоря:
Compiler Error Message: CS0122: 'Namespace.To.RESX.File.EN_US' is inaccessible due to its protection level
В файле конструктора resx я вижу класс, и все его члены помечены как internal
. Я полностью понимаю, что делают модификаторы управления доступом С#, как они работают и т.д., Но я не понимаю, почему Visual Studio ограничивает доступ к таким ресурсам, как это.
Почему Visual Studio сделает это? Есть ли (простой) способ изменить эти модификаторы управления доступом, или я полностью теряю точку файлов ресурсов?