【问题标题】:Assembly Reference loads in Release, but not in Debug, Visual Basic 2013程序集引用在发布中加载,但不在调试中加载,Visual Basic 2013
【发布时间】:2014-03-19 01:38:42
【问题描述】:

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

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

帮助?

【问题讨论】:

  • 您需要描述什么是不起作用的意思,如果是,您会收到错误吗?
  • 出现错误,提示未加载程序集引用。它是chillkat.dll
  • 特别是:mscorlib.dll 中发生了“System.BadImageFormatException”类型的未处理异常附加信息:无法加载文件或程序集“ChilkatDotNet2,版本=9.0.8.0,文化=中性,PublicKeyToken=eb5fc1fc52ef09bd ' 或其依赖项之一。试图加载格式不正确的程序。

标签: visual-studio-2013 assembly-references


【解决方案1】:

看起来 Chillkat 点网实际上是一个混合模式程序集,而且您可能还需要适当的 c 运行时。此异常和解决此问题的方法已记录在 here

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    通常,当可执行文件是 x86 并且它引用的 dll 是 x64 时,我会收到此错误。检查您的构建配置以确保它针对正确的平台。

    在 VS2013 中,转到构建 -> 配置管理器。新窗口的左上角应该有一个下拉菜单,其中包含不同的构建模式。比较 Debug 和 Release。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-23
        • 2016-09-05
        相关资源
        最近更新 更多