我在Windows 7 64位上编译或尝试运行我的应用程序时收到以下错误消息.我浏览过互联网,很多人都有同样的错误信息.但是,没有一种解决方案可以解决我的问题或情况.我正在使用Visual Studio 2010.
错误38无法加载文件或程序集'file:/// D:/ Projects/Windows Projects/Weld/Components/FileAttachments/FileAttachments/FileAttachments/bin/x86/Debug/FileAttaching.dll'或其依赖项之一.尝试加载格式不正确的程序.第1212行,第5位.D:\ Projects\Windows Projects\Weld\Weld\Weld.UI\frmMain.resx 1212 5 Weld.UI
好的,所以我有两个项目,一个UI项目和一个FileAttachment项目.UI项目引用了FileAttachment项目.当我在"任何CPU"模式下编译UI项目时,一切正常,它运行.当我编译时,我认为'任何CPU'将以64位模式运行,因为那是我正在使用的平台.
我想运行/编译为x86,所以我尝试这样做.我将所有项目的配置更改为x86,并验证这些配置是否正在编译为x86.我编译并得到如上所述的错误.
我觉得很奇怪,它编译并在64位但不是32位工作正常.但是,当编译并作为"任何CPU"部署到用户时,如果这些用户拥有x86,它仍然可以正常工作,没有任何问题.我无法在我的电脑上编译或运行x86.同样,我可以编译为任何CPU并部署到32位PC没有任何问题.
这两个项目都没有引用任何64位的DLL文件.这两个项目都经过验证,目标是32位DLL文件和.NET Framework程序集.
我需要在32位模式下本地编译和运行它.我需要JIT编辑/继续等等.
以下是resx文件中导致问题的代码行:
<data name="ImageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
....{mime data}....
</data>
Run Code Online (Sandbox Code Playgroud)
验证resx文件是为.NET 2.0生成的,并且仅引用.NET 2.0程序集而不是.NET 4.0版本.
我该如何解决这个问题?我搜索了互联网,发现数百人有相同的错误信息,但问题不同.