在我的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/