我正在将TeamCity上运行的Visual Studio 2015版本转换为Visual Studio 2017,并且在运行MSTest时遇到问题。我收到以下错误消息:
System.IO.FileLoadException:无法加载文件或程序集'System.Web.Mvc,Version = 3.0.0.1,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)
我搜索了整个解决方案,找不到任何明确引用System.Web.Mvc v3.0.0.1的内容。我试图在Test项目的app.config中添加以下程序集重定向来解决问题:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
然而,问题仍然存在。调试后,我发现错误只发生在使用System.Web.Mvc.UrlHelper的代码中。当我评论该代码时,构建工作正常。
从Visual Studio本地运行时,代码编译和测试正确运行。