我有一个名为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'。
答案 0 :(得分:1)
您必须将所有资源文件的命名空间设置为ViewResource之类的公共命名空间。然后将资源文件中的访问修饰符更改为public。现在您可以访问这些资源文件。
构建行动:内容
复制到输出目录:不要复制
自定义工具:GlobalResourceProxyGenerator
自定义工具命名空间: ViewResource
访问修饰符:公开(在所有资源文件中)