我正在用C#构建一个ASP.NET MVC 4网站。我正在本地化资源文件(.resx)中的所有静态字符串。我使用VisualStudio界面创建和填充资源文件。在我的index.cshtml视图中,我尝试使用资源文件中的一个字符串,如下所示:
@使用Namespace.To.RESX.File
...
<;h1&[email protected]_US.全球名称</h1>;
<;h2>&;[email protected]_US.GLOBAL_标语和;rdquo</h2>;
...
我可以编译应用程序,但在加载页面时出现运行时错误,显示:
编译器错误消息:CS0122:“Namespace.To.RESX.File.EN_US”由于其保护级别而无法访问
在resx设计器文件中,我可以看到该类及其所有成员都标记为internal。我完全理解C#访问控制修饰符的功能、工作原理等。。。但是我不明白为什么VisualStudio会像这样限制对资源成员的访问
为什么VisualStudio会这样做?有没有(简单的)方法来更改这些访问控制修饰符,或者我完全忽略了资源文件的要点
是的。。。我没看到这个。在设计模式下打开资源文件并更改访问修饰符(至少在VS 2013上):