Visual studio 2010 是什么原因导致.resx文件在Windows XP下正确编译,但在Windows 7 64位下失败并出现错误137?

Visual studio 2010 是什么原因导致.resx文件在Windows XP下正确编译,但在Windows 7 64位下失败并出现错误137?,visual-studio-2010,windows-7,64-bit,Visual Studio 2010,Windows 7,64 Bit,我遇到了一个非常奇怪的情况。我的解决方案中存在导致问题的.resx文件 使用在Windows XP下运行的Visual Studio 2010,该解决方案可以顺利编译 使用在64位Windows 7下运行的Visual Studio 2010,同一解决方案会报告生成失败并出现错误137 试图加载格式不正确的程序。第204行,位置5。[路径清理]\RemoteFileView.resx 所讨论的资源文件似乎是有效的,因此我无法解释这个问题 有人能提出可能出了什么问题吗 澄清:VS2010抱怨的问题

我遇到了一个非常奇怪的情况。我的解决方案中存在导致问题的.resx文件

使用在Windows XP下运行的Visual Studio 2010,该解决方案可以顺利编译

使用在64位Windows 7下运行的Visual Studio 2010,同一解决方案会报告生成失败并出现错误137

试图加载格式不正确的程序。第204行,位置5。[路径清理]\RemoteFileView.resx

所讨论的资源文件似乎是有效的,因此我无法解释这个问题

有人能提出可能出了什么问题吗


澄清:VS2010抱怨的问题是一个简单的元素。XML似乎格式正确。

根据错误消息中的字符串,设计器尝试加载时会抛出一个错误

这很可能是位错配的问题。您是否尝试过重建解决方案?能否通过MSBuild在命令行上生成?您的所有项目都是针对“任何CPU”的,还是有特定于处理器的项目


请看一下Sara Joiner在何处详细描述了您可能会看到此问题的情况。

这是microsoft一年多前就知道的Visual Studio的一个缺陷。有关更多信息,请参阅以下链接:

我最近不得不将我们的windows窗体项目升级到.NET 4.0,因为我们一接触(读取保存)一个设计器,它就会修改我们嵌入的图像。这个错误只是一堆胡说八道


不幸的是,建议的解决方案都不适用于我们,因此我们不得不咬紧牙关进行升级。

我在将系统迁移到64位时也遇到了同样的问题。对我来说,唯一的解决方案是每次我在gui中更改某些内容并更新resx文件时,我都必须执行以下操作:

将所有出现的字符串
j00L
替换为
j0yL


你现在可以编译了

为了增加乐趣,我可以注释掉生成错误的元素,并构建应用程序。当然,因为它缺少资源,所以看起来很难看。。。但它确实跑了!尝试将所有文件编译为32位或64位,听起来像是项目不匹配compilations@Richard生成错误的元素是什么?图标?您是否以管理员身份运行Visual Studio?@kzen所讨论的元素确实是图标,但封装在ImageList中。所讨论的项目目标是32位版本。(遗憾的是,其中一个组件仅为32位,这就迫使我们提出这一要求)。该项目使用命令行中的MSBuild正确生成。您能看看我添加到答案中的链接吗?我想这和你提到的是同一个问题。你提到的博客文章帮了大忙。它不仅比我最初的问题更清楚地描述了问题,还提供了许多解决问题的方法。谢谢你的指点。哦!看来你没有得到应得的全部赏金。我已经在meta(at)上发布了这个问题。希望你能很快得到剩下的。哇,这对我来说真的很有效。你怎么知道的?!?