项目编译很好,测试在visual studio中运行,但nunit-console"无法加载文件或程序集......"

时间:2017-09-22 17:38:16

标签: c# nuget nunit nunit-console

我有一个Visual Studio项目,构建正常,并且nunit 2测试在Visual Studio中运行正常,使用测试适配器和/或第三方工具(例如Code Rush,TestDriven.net等)

但是,当我在同一个项目上运行nunit-console版本2.6.4.14350时,它会失败,并显示以下错误。

  

System.IO.FileLoadException:无法加载文件或程序集   ' System.Web.Mvc,Version = 4.0.0.0,Culture = neutral,   公钥= 31bf3856ad364e35'或其中一个依赖项。该   定位程序集的清单定义与程序集不匹配   参考。 (来自HRESULT的异常:0x80131040)文件名:   ' System.Web.Mvc,Version = 4.0.0.0,Culture = neutral,   公钥= 31bf3856ad364e35'

这是事实,因为我使用的是System.Web.Mvc Version = 5.2.3,但我仍对此消息感到困惑

1 个答案:

答案 0 :(得分:1)

编译时这样做的原因是项目中的web.config文件中存在绑定重定向。

<dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>

构建和Visual Studio测试运行程序都尊重这一点,但是nunit-console没有。

使用msbuildverbosity:diagnostic会在使用此绑定重定向时显示警告。

然后,您可以解决问题,以便所有内容都指向最新版本,问题就会消失。 然后你可以修复