在我的mvc3 web项目中,我有一个包含资源文件Permissions.resx的App_GlobalResources文件夹。
当我在visual studio中使用以下命令在本地运行站点时,我能够访问此文件中的值:
string value = (string)HttpContext.GetGlobalResourceObject(resourceClass, key);
但是,一旦我将其部署到生产Web服务器,它就无法访问此文件中的值。我检查了它,它正在包含该文件的发布目录的bin文件夹中创建App_GlobalResources。
我第一次使用全局资源文件时,是否需要执行其他步骤才能在部署到Web服务器后使其正常工作?
感谢。
答案 0 :(得分:3)
我非常确定不应在 bin 文件夹中创建App_GlobalResources。你有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