asp.net-mvc-4 - 无法从 mvc 4 Controller 访问资源文件中的 key

标签 asp.net-mvc-4 resources

我有一个名为 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/

相关文章:

c# - Facebook web 应用程序扩展权限第二步不显示

asp.net-mvc - 路由测试 ASP.NET MVC4

wpf - 无法访问 app.xaml 中定义的资源

c# - 在纹理上调用 Resources.Load 不起作用

java - Android 中的资源标识符值是如何确定的?

c# - MVC4 动态 Controller 路径?

asp.net-mvc - 路由、命中错误 Action

c# - 在 mvc 4 中找不到 DbContext

.net - 从 asp.net 页面创建资源

具有绑定(bind)的 WPF 可见性资源