【问题标题】:Assembly loading fails with CNTK EvalWrapper使用 CNTK EvalWrapper 加载程序集失败
【发布时间】:2016-05-11 10:01:11
【问题描述】:

我有一个 .NET 程序集,其中包含一些引用 CNTK 的 EvalWrapper.dll 的测试。 CNTK 构建针对 x64,.NET 测试程序集具有构建目标 AnyCPU。我已确保在构建输出目录see this SO question here 中提供了所有必需的 DLL。我在 VS 测试设置/处理器架构中选择了 x64。

我的测试运行了一段时间,但现在开始失败,并在加载 EvalWrapper.dll 时出现程序集加载错误 BadImageFormatException。使用 Fusion Log Viewer 检查加载错误也没有发现任何不正确的格式:

The operation failed.
Bind result: hr = 0x8007000b. An attempt was made to load a program with an incorrect format.
Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\TESTWINDOW\te.processhost.managed.exe
--- A detailed error log follows. 
=== Pre-bind state information ===
LOG: DisplayName = EvalWrapper, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null

我的项目设置没有任何更改。有什么可以悄无声息地改变,让我的测试现在都失败了?

【问题讨论】:

    标签: visual-studio cntk


    【解决方案1】:

    我猜罪魁祸首是一个仍在后台运行的 32 位测试执行引擎——即使我确保没有勾选“测试设置/保持测试执行引擎运行”。昨天我注意到 VS “忘记了”我选择的处理器架构,它被重置为 32 位。我将它改回 64 位 - 事后看来,我猜这就是问题的根源。

    VS 默默地更改处理器架构以进行测试,这也是我之前在其他项目中注意到的。

    关闭并重新打开 VS 就成功了,现在所有测试都通过了。或者,我可能会查找所有正在运行的测试执行引擎进程,然后将其杀死。

    【讨论】:

      猜你喜欢
      • 2016-11-06
      • 1970-01-01
      • 2016-12-31
      • 1970-01-01
      • 2011-08-13
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多