我在VS 2008中运行了一个Web项目.在App_GlobalResources文件夹中有一些全球资源文件(* .resx)用于国际化.所有这些都像在我的本地IIS安装中的魅力一样.
但是,当我将Web项目发布到本地文件系统和/或其他服务器时,将无法再找到所有的资源.所以我猜这个预编译是以某种方式破坏的东西.当我调用预编译的Web时,我收到一个错误,即无法找到具有关键字xyz的资源对象,尽管可以在之前找到它.
我检查了.NET反射器,如果资源的东西使它进入* .dlls.所有这些标识符都存在(bin / Web.dll,bin /< culture> /Web.resources.dll).标识符加载如下:
<asp:MenuItem NavigateUrl="~/OrderNew.aspx" Text="<%$Resources:MyProject,MenuNewOrder %>" Value="NewOrder">
资源文件称为MyProject.resx和MyProject.< culture> .resx其中< culture>对应于特定的培养(即MyProject.de-DE.resx).
任何想法如何解决?
我非常感谢任何帮助.
谢谢
编辑:
如果我将App_GlobalResources文件夹手动复制到输出,资源可能正常加载.所以我真的很想知道这个预编译是什么.
我仍然有兴趣解决问题“正确的方式”.