无法访问的内部资源文件?

我正在用C#构建一个ASP.NET MVC 4网站。我正在本地化资源文件(.resx)中的所有静态字符串。我使用VisualStudio界面创建和填充资源文件。在我的index.cshtml视图中,我尝试使用资源文件中的一个字符串,如下所示:

@使用Namespace.To.RESX.File
...
<h1&[email protected]_US.全球名称&lt/h1>
<h2&gt&[email protected]_US.GLOBAL_标语和;rdquo&lt/h2>
...

我可以编译应用程序,但在加载页面时出现运行时错误,显示:

编译器错误消息:CS0122:“Namespace.To.RESX.File.EN_US”由于其保护级别而无法访问

在resx设计器文件中,我可以看到该类及其所有成员都标记为internal。我完全理解C#访问控制修饰符的功能、工作原理等。。。但是我不明白为什么VisualStudio会像这样限制对资源成员的访问

为什么VisualStudio会这样做?有没有(简单的)方法来更改这些访问控制修饰符,或者我完全忽略了资源文件的要点

是的。。。我没看到这个。在设计模式下打开资源文件并更改访问修饰符(至少在VS 2013上):

发表评论