4

我无法获得 Visual Studio 2012 RTM 的 Xunit 测试运行器扩展来加载我的 x64 混合模式程序集。

错误是:System.IO.FileLoadException:混合模式程序集是针对运行时版本“v2.0.50727”构建的,如果没有其他配置信息,则无法在 4.0 运行时中加载。

这里有一个类似的问题:Visual Studio 2012 Test Project Mixed Mode Runtime

我已在此文件夹中的所有 .config 文件中添加了以下行:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
</startup>

我什至将它添加到此文件夹:C:\Users\Alex\AppData\Local\Microsoft\VisualStudio\11.0\Extensions\zuclypws.1z3 包含 xunit.runner.visualstudio.dll .. 我将其命名为 xunit.runner.visualstudio。 dll.config

有谁知道如何让这个工作?我希望这不是那么不必要的复杂。

4

1 回答 1

11

您还需要将 .net 2.0 程序集添加到列表中。

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>

我在 VS 2012 中写了一篇关于这个问题的帖子:

http://www.diaryofaninja.com/blog/2012/09/13/net-20-mixed-mode-assemblies-in-visual-studio-net-45-test-projects

在 Visual Studio 2012 中,您需要将启动代码添加到以下文件:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.executionengine86.exe.config

您可能还需要将此添加到 xunit 测试运行程序的应用程序文件夹内的 app.config(即程序文件内)

于 2012-09-13T04:23:40.517 回答