程序集引用在Release中加载,但在Debug,Visual Basic 2013中不加载

时间:2014-03-19 01:38:42

标签: visual-studio-2013 assembly-references

我不是很有经验。只是试图对其他人写的源代码进行一些更改。

我必须添加对.dll的引用才能让它在"发布"模式。但是当我试图让它在Debug中工作时,它不起作用。 (未加载程序集引用)。

帮助?

3 个答案:

答案 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,它将失败