ASP.NET MVC全局资源文件部署

时间:2011-10-13 23:33:37

标签: c# asp.net asp.net-mvc resources

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

当我在visual studio中使用以下命令在本地运行站点时,我能够访问此文件中的值:

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

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

我第一次使用全局资源文件时,是否需要执行其他步骤才能在部署到Web服务器后使其正常工作?

感谢。

1 个答案:

答案 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