我想将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没有找到它们呢?默认情况下不应该回退到主程序集吗?