我有一个名为 Constants.resx 的资源文件,其中包含一些字符串。从 Controller 中,我尝试访问刚刚添加到 Constants.resx 文件中的新字符串,但编译器无法识别它(智能感知没有向我显示刚刚添加的新字符串),当然,当我键入它时,显示错误。
在 Controller header 中,我添加了以下行:
using Resources;
要访问刚刚添加的新字符串,我执行以下操作:
Resources.Constants.NewString
我使用相同的方法访问 Constants.resx 文件中的其他字符串,没有问题,它们被正确识别,但不是这个新字符串。
有什么想法吗?
更新: 我的 mvc 4 应用程序的资源文件是通过从 App_GlobalResources 上下文菜单中选择“添加 > 新项目”并最终选择“资源文件”来添加的。
我的资源文件属性是:
Build action: Content
Copy to Output Directory: Do not copy
Custom Tool: GlobalResourceProxyGenerator
Custom Tool Namespace: (left blank)
我还使用 Visual Studio 2010 Express 版本。
我可以看到编译器抛出警告,表示它无法在系统中找到自定义工具“GlobalResourceProxyGenerator”。
最佳答案
您必须将所有资源文件的命名空间设置为公共(public)命名空间,如 ViewResource。然后将资源文件中的访问修饰符更改为public。现在您可以访问这些资源文件。
构建操作:内容
复制到输出目录:不复制
自定义工具:GlobalResourceProxyGenerator
自定义工具命名空间:ViewResource
访问修饰符:公共(public)(在所有资源文件中)
关于asp.net-mvc-4 - 无法从 mvc 4 Controller 访问资源文件中的 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21119554/