2017-09-22 128 views
0

我有一个Visual Studio项目,建立良好,并且nunit 2测试在Visual Studio中运行良好,使用测试适配器和/或第三方工具(例如Code Rush,TestDriven.net等)项目编译好,在Visual Studio中运行测试,但nunit控制台“无法加载文件或程序集...”

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

System.IO.FileLoadException:无法加载文件或组件 'System.Web.Mvc,版本= 4.0.0.0,文化=中性 公钥= 31bf3856ad364e35' 或它的一个依赖。位于程序集清单定义中的 与程序集 的引用不匹配。 (异常来自HRESULT:0x80131040)文件名: 'System.Web.Mvc,版本= 4.0.0.0,文化=中立, 公钥= 31bf3856ad364e35'

这是真的,因为我使用的System.Web .Mvc版本= 5.2.3,但我仍然对这条消息感到困惑

回答

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控制台没有。

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

然后,您可以修复问题,以便所有内容都指向最新版本,并且问题消失。 然后,您可以修复

相关问题