【发布时间】:2010-10-25 11:46:10
【问题描述】:
我有一个在 VS 2008 中运行的网络项目。我们在 App_GlobalResources 文件夹中有一些全局资源文件 (*.resx) 用于国际化。这一切都像我在 VS 中安装的本地 IIS 的魅力。
但是当我将我的 web 项目发布到本地文件系统和/或另一台服务器时,无法再找到所有资源。所以我猜预编译会以某种方式破坏东西。当我调用预编译的网页时,我得到一个错误,即无法找到键为 xyz 的资源对象,虽然它之前可以找到。
我使用 .NET 反射器检查了资源是否进入了 *.dll。所有这些标识符都在那里(bin/Web.dll、bin/
<asp:MenuItem NavigateUrl="~/OrderNew.aspx" Text="<%$ Resources:MyProject, MenuNewOrder %>" Value="NewOrder">
资源文件称为 MyProject.resx 和 MyProject.
有什么办法解决这个问题吗?
非常感谢任何帮助。
谢谢
编辑:
如果我手动将 App_GlobalResources 文件夹复制到输出,资源可能会正常加载。所以我真的很想知道这个预编译是关于什么的。
我仍然对“以正确的方式”解决问题感兴趣。
【问题讨论】:
-
Yours 是我最终找到的解决方案——我们似乎必须使用编译操作“嵌入式资源”来从代码隐藏中访问资源,但文件本身在 /app_globalresources 中才能使用。似乎应该有更好的方法。
标签: asp.net visual-studio-2008 resources publishing pre-compilation