我不是很有经验。只是试图对其他人写的源代码进行一些更改。
我必须添加对.dll的引用才能让它在"发布"模式。但是当我试图让它在Debug中工作时,它不起作用。 (未加载程序集引用)。
帮助?
答案 0 :(得分:2)
看起来Chillkat dot net实际上是一个混合模式程序集,你可能也需要拥有适当的c运行时。此异常以及解决此问题的方法记录为here
希望这有帮助。
答案 1 :(得分:0)
通常,当可执行文件是x86并且它引用的dll是x64时,我会收到此错误。检查您的构建配置,确保它定位到正确的平台。
在VS2013中转到Build - >配置管理器。新窗口的左上角应该有一个下拉列表,其中包含不同的构建模式。比较Debug到Release。
答案 2 :(得分:0)
当您尝试加载为另一个平台中的特定平台编译的一个程序集时,BadImageFormatException是从执行引擎抛出的一个异常。
示例A
- project A, compiled as X86
- project B, compiled as X86
- executable, compiled in X86
在x86机器和x64操作系统中都能正常工作
示例B
- project A, compiled as X86
- project B, compiled as X86
- executable, compiled in AnyCPU
在x86操作系统中都可以正常工作 在x64操作系统中抛出异常(可执行文件在AnyCPU中,因此它在x64引擎上运行,因此无法加载x86 dll)
示例C
- project A, compiled as AnyCPU
- project B, compiled as x86
- executable, compiled in AnyCPU
在x86操作系统中都可以正常工作 在x64操作系统中抛出异常(可执行文件在AnyCPU中,因此它在x64引擎上运行,因此无法加载x86 dll)
示例D
- project A, compiled as AnyCPU
- project B, compiled as x86
- executable, compiled in x86
在x86操作系统中都可以正常工作 一切都在x64操作系统中正常工作 exe是专为x86平台编译的,因此x64机器也可以在x86模式下运行。
<强>结论强>
Visual Studio在OS配置中运行项目,因此在调试模式下,如果您没有用于启动项目的特定x86配置并尝试执行x86引用的dll,它将失败