在我的mvc3 Web项目中,我有一个App_GlobalResources文件夹,其中包含资源文件Permissions.resx。

当我使用以下方法在Visual Studio中本地运行站点时,可以访问此文件中的值:

    string value = (string)HttpContext.GetGlobalResourceObject(resourceClass, key);


但是,将其部署到生产Web服务器后,将无法访问该文件中的值。我检查了一下,它正在包含文件的发布目录的bin文件夹中创建App_GlobalResources。

我第一次使用全局资源文件时,将其部署到Web服务器后是否需要执行其他任何步骤?

谢谢。

最佳答案

我很确定App_GlobalResources不应在bin文件夹中创建。您设置了Copy to output folder吗? (您不需要它)。

在WebForms中,在.resx文件的属性中,我们将Build Action设置为Content,将Custom Tool设置为GlobalResourceProxyGenerator。这将为bin文件夹中的资源创建dll。

但是,我没有在MVC中使用App_GlobalResources(这使得在Web上下文外部进行测试很棘手),但是这里有一些有用的信息:

http://odetocode.com/Blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspx

关于c# - ASP.NET MVC全局资源文件部署,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7761627/

10-16 08:58
查看更多