我正在用C#构建一个ASP.NETMVC4网站.我正在本地化资源文件(.resx
)中的所有静电字符串.我使用Visual Studio界面来创建和填充资源文件.在我的index.cshtml
视图中,我try 使用资源文件中的一个字符串,如下所示:
@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
.我完全理解C#访问控制修饰符的作用,它们是如何工作的,等等……但是我不明白为什么Visual Studio会像这样限制对资源成员的访问.
为什么VisualStudio会这样做?有没有(简单的)方法来更改这些访问控制修饰符,或者我完全忽略了资源文件的要点?