【问题标题】:Global resources can't be resolved after publishing Website in VS2008VS2008发布网站后无法解析全局资源
【发布时间】:2010-10-25 11:46:10
【问题描述】:

我有一个在 VS 2008 中运行的网络项目。我们在 App_GlobalResources 文件夹中有一些全局资源文件 (*.resx) 用于国际化。这一切都像我在 VS 中安装的本地 IIS 的魅力。

但是当我将我的 web 项目发布到本地文件系统和/或另一台服务器时,无法再找到所有资源。所以我猜预编译会以某种方式破坏东西。当我调用预编译的网页时,我得到一个错误,即无法找到键为 xyz 的资源对象,虽然它之前可以找到。

我使用 .NET 反射器检查了资源是否进入了 *.dll。所有这些标识符都在那里(bin/Web.dll、bin//Web.resources.dll)。标识符是这样加载的:

<asp:MenuItem NavigateUrl="~/OrderNew.aspx" Text="<%$ Resources:MyProject, MenuNewOrder %>" Value="NewOrder">

资源文件称为 MyProject.resx 和 MyProject..resx,其中 对应于特定文化(即 MyProject.de-DE.resx)。

有什么办法解决这个问题吗?

非常感谢任何帮助。

谢谢

编辑:

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

我仍然对“以正确的方式”解决问题感兴趣。

【问题讨论】:

  • Yours 是我最终找到的解决方案——我们似乎必须使用编译操作“嵌入式资源”来从代码隐藏中访问资源,但文件本身在 /app_globalresources 中才能使用。似乎应该有更好的方法。

标签: asp.net visual-studio-2008 resources publishing pre-compilation


【解决方案1】:

我遇到了同样的问题,不得不对 resx 文件属性进行两次更改。

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

【讨论】:

  • 这解决了手动复制东西的问题,尽管 Copy if newer 对我来说已经足够了。
【解决方案2】:

(我无法对上一个答案发表评论...还没有声誉...?)

恐怕这并没有解决我的问题。

在尝试“始终内容/复制”解决方案时,我收到一个异常,指出编译时的链接不起作用。

为什么asp.net编译资源的时候需要resx文件!?

【讨论】:

  • 即使您没有声望,您也可以随时在您的问题下发表评论
【解决方案3】:

从另一个项目复制资源文件时出现此错误。

我通过删除全局资源、添加新资源并将 data 元素从旧 XML 复制到新 XML 解决了这个问题。

这会导致资源的以下设置:

  <ItemGroup>
    <Content Include="App_GlobalResources\Global.resx">
      <Generator>GlobalResourceProxyGenerator</Generator>
      <LastGenOutput>Global.Designer.cs</LastGenOutput>
    </Content>
  </ItemGroup>

【讨论】:

  • 天哪,谢谢。我希望我能多次对此表示赞同。
【解决方案4】:

我遇到了同样的问题。每当我将我的应用程序发布到 Small Business Server (SBS2008) 时,它都会停留在控制名称行上,但实际上位于 meta:resourcekey 部分。上述解决方案都没有帮助我。

我花了 6 个小时解决这个问题,最后我意识到这是在我在服务器上进行一些文件夹清理时发生的。一开始,我所有的应用程序都位于 E: 在他们的文件夹中,但后来我创建了文件夹,其名称指示应用程序 ApplicationPools,然后我将相应的应用程序移到那里。

我不知道我的 SBS 上的 IIS7 是如何寻找资源文件的,但这绝对是问题所在。当我带着我的应用程序回到 E: 时,一切又开始像魅力一样工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    相关资源
    最近更新 更多