在VS2008中发布网站后无法解析全局资源

Sco*_*hic 13 asp.net resources publishing pre-compilation visual-studio-2008

我有一个在VS 2008中运行的Web项目.我们在App_GlobalResources文件夹中有一些全局资源文件(*.resx)用于国际化.所有这些就像我在VS上安装本地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">
Run Code Online (Sandbox Code Playgroud)

资源文件名为MyProject.resx和MyProject.<culture> .resx其中<culture>对应于特定文化(即MyProject.de-DE.resx).

任何想法如何解决这个问题?

我非常感谢任何帮助.

谢谢

编辑:

如果我手动将App_GlobalResources文件夹复制到输出,则可以正常加载资源.所以我真的很想知道这个预编译是什么.

我仍然有兴趣以"正确的方式"解决问题.

Sha*_*owe 12

我有同样的问题,不得不对resx文件属性进行两处更改.

  1. 将"构建操作"设置为"内容"
  2. 将"复制到输出目录"设置为"始终复制"

  • 这解决了手动复制内容的问题,尽管如果更新则复制对我来说已经足够了. (2认同)