无法从mvc 4控制器访问资源文件中的密钥

时间:2014-01-14 17:09:26

标签: asp.net-mvc-4 resources

我有一个名为Constants.resx的资源文件,其中包含一些字符串。从控制器我试图访问一个新的字符串,我刚刚添加到Constants.resx文件但编译器无法识别它(intellisense没有向我显示刚添加的新字符串)当然,当我输入它时,显示错误。

在控制器标题中,我添加了以下行:

using Resources;

并访问刚刚添加的新字符串,我执行以下操作:

Resources.Constants.NewString

我使用相同的方法访问Constants.resx文件中的其他字符串,没有问题,它们被正确识别,但不是新的。

有什么想法吗?

更新: 通过从App_GlobalResources上下文菜单中选择“添加>新项目”,最后选择“资源文件”,添加了我的mvc 4应用程序的资源文件。

我的资源文件属性是:

Build action: Content
Copy to Output Directory: Do not copy
Custom Tool: GlobalResourceProxyGenerator
Custom Tool Namespace: (left blank)

我也在使用Visual Studio 2010 Express版。

我可以看到编译器发出警告,说它无法在系统中找到自定义工具'GlobalResourceProxyGenerator'。

1 个答案:

答案 0 :(得分:1)

您必须将所有资源文件的命名空间设置为ViewResource之类的公共命名空间。然后将资源文件中的访问修饰符更改为public。现在您可以访问这些资源文件。

构建行动:内容

复制到输出目录:不要复制

自定义工具:GlobalResourceProxyGenerator

自定义工具命名空间: ViewResource

访问修饰符:公开(在所有资源文件中)