不可访问,内部,资源文件?

我正在用C#构建ASP.NET MVC 4网站。 我将所有静态字符串本地化为资源文件( .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会这样做? 有没有一种(简单)的方式来改变这些访问控制修饰符,还是我完全错过了资源文件的要点?


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

链接地址: http://www.djcxy.com/p/66645.html

上一篇: Inaccessible, Internal, Resource Files?

下一篇: How do I ensure full coverage of a localization resource file in Visual Studio?