用于Visual Studio 2012的Xunit Test runner扩展的混合模式组装

时间:2012-08-22 22:23:18

标签: unit-testing visual-studio-2012 xunit

我无法获得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

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

1 个答案:

答案 0 :(得分: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 test runner的应用程序文件夹中的app.config(即内部程序文件)