我遇到了一个非常奇怪的场景。我的解决方案中有一个.resx文件导致问题。
使用在Windows XP下运行的Visual Studio 2010,该解决方案可以毫无问题地编译。
使用在Windows 7,64位下运行的Visual Studio 2010,相同的解决方案报告构建失败,错误137
An attempt was made to load a program with an incorrect format. Line 204, position 5. [Path Sanitized]\RemoteFileView.resx
有问题的资源文件似乎有效,所以我无法解释问题。
有人可以建议可能出错的地方吗?
澄清:VS 2010抱怨的问题是一个简单的< / data>元件。 XML看起来很好。
答案 0 :(得分:4)
根据错误消息中的字符串,当设计者尝试加载时会抛出BadImageFormatException。
这很可能是一个比特不匹配的问题。您是否尝试过重建解决方案?你能通过MSBuild在命令行上构建吗?您的所有项目都是针对“任何CPU”,还是您有特定于处理器的项目?
请查看this blog post,其中Sara Joiner描述了您可能会详细查看此问题的情况。
答案 1 :(得分:2)
将系统迁移到64位时,我也遇到了同样的问题。对我来说唯一的解决方案是,每当我更改gui和resx文件的内容时,我都必须执行以下操作:
将字符串j00L
的所有出现替换为j0yL
。
您现在可以编译了!
答案 2 :(得分:1)
这是微软已经知道一年多的Visual Studio的错误。有关更多信息,请参阅以下链接:
我最近不得不将我们的Windows窗体项目升级到.NET 4.0,因为只要我们触摸(读取已保存)设计器,它就会更正我们的嵌入式图像。错误的界限只是一堆笨蛋。
不幸的是,没有一个建议的解决方法对我们有用,所以我们不得不咬紧牙关并升级。