asp.net-mvc – 如何在ASP.NET MVC中使用编译的全局资源

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 如何在ASP.NET MVC中使用编译的全局资源前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将App_GlobalResources / Strings.resx编译到我的程序集中(最终使用Strings.es.resx,Strings.fr.resx等的卫星程序集),但发布应用程序后会出现以下错误

“Could not load file or assembly ‘App_GlobalResources’ or one of its dependencies. The system cannot find the file specified.”

重现步骤:

>创建一个新的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吗?

解决方法

这是一个很好的起点 http://odetocode.com/Blogs/scott/archive/2009/07/16/resource-files-and-asp-net-mvc-projects.aspx

我设置一个项目,就像你提到的,当我部署到IIS6时,它的错误也是一样的.根据Scott的建议,将自定义工具更改为PublicResXFileCodeGenerator和自定义工具命名空间资源.

我也会遵循斯科特的领先地位,以消除App_GlobalResources,但我得到它的工作正常.这可能是个人偏好的问题.

猜你在找的asp.Net相关文章