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