【发布时间】:2010-12-23 08:47:58
【问题描述】:
我想将 App_GlobalResources/Strings.resx 编译到我的程序集中(并最终为 Strings.es.resx、Strings.fr.resx 等使用附属程序集。 ) 但应用发布后会出现以下错误:
“无法加载文件或程序集‘App_GlobalResources’或其依赖项之一。系统找不到指定的文件。”
复制步骤:
- 创建一个新的 ASP.NET MVC 项目。
- 添加一个 App_GlobalResources 文件夹和一个 Strings.resx 文件。
- 将文件的构建操作设置为“嵌入式资源”
- 将字符串添加到 Strings.resx 并在
HomeController.Index()中使用它,例如ViewData["Message"] = Strings.MyTest - F5 调试,工作正常。
- 发布到 IIS 并且(因为 Strings.resx 被排除在发布之外)您将在发布的站点中收到上述错误。
ASP.NET MVC 项目可以使用编译到 dll 中的字符串资源吗?如果可以,我做错了什么?
那么为什么ResourceManager 没有找到它们呢?默认情况下不应该是fallback to the main assembly吗?
【问题讨论】:
标签: asp.net-mvc localization embedded-resource