【发布时间】:2018-10-20 18:51:27
【问题描述】:
我正在尝试为我的 Web API 项目编写测试。但是在我的 Web API 控制器上执行任何操作时都会遇到运行时异常。
我的测试项目构建良好。但是在运行时,Visual Studio 抱怨 System.Net.HTTP.Formatting.dll 无法加载。 我检查了我的主项目和我的测试项目之间的版本,所有的 DLL 版本都是相同的。
完全错误:
消息:测试方法 Tests.TagsTests.HappyFlowTests 抛出异常: System.IO.FileLoadException: Kan bestand of assembly System.Net.Http.Formatting,版本=5.2.6.0,文化=中性, PublicKeyToken=31bf3856ad364e35 of een van de afhankelijkheden hiervan 聂拉登De manifestdefiniti van de gevonden assembly komt niet overeen 遇到了 de assembly-verwijzing。 (Uitzondering van HRESULT: 0x80131040) ---> System.IO.FileLoadException: Kan bestand of assembly System.Net.Http.Formatting,版本=5.2.4.0,文化=中性, PublicKeyToken=31bf3856ad364e35 of een van de afhankelijkheden hiervan 聂拉登De manifestdefiniti van de gevonden assembly komt niet overeen 遇到了 de assembly-verwijzing。 (Uitzondering van HRESULT: 0x80131040)
翻译得有点失落
消息:测试方法 Tests.TagsTests.HappyFlowTests 抛出异常: System.IO.FileLoadException:无法加载文件或程序集 System.Net.Http.Formatting,版本=5.2.6.0,文化=中性, PublicKeyToken=31bf3856ad364e35 或其依赖项之一。 找到的清单与引用的程序集不匹配。 (HRESULT 例外: 0x80131040) ---> System.IO.FileLoadException: 无法加载文件或程序集 System.Net.Http.Formatting,版本=5.2.4.0,文化=中性, PublicKeyToken=31bf3856ad364e35 或其依赖项之一。找到的清单与引用的程序集不匹配。 (HRESULT 例外: 0x80131040)
我尝试以多种不同的方式清理和重建解决方案。但是似乎某处出现了问题,导致 DLL 一直存在问题。
My tests packages.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.2.0" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.4" targetFramework="net461" />
<package id="MSTest.TestAdapter" version="1.3.2" targetFramework="net461" />
<package id="MSTest.TestFramework" version="1.3.2" targetFramework="net461" />
<package id="Newtonsoft.Json" version="6.0.4" targetFramework="net461" />
</packages>
我的主项目的packages.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.5.0.2" targetFramework="net461" />
<package id="bootstrap" version="3.3.7" targetFramework="net461" />
<package id="EntityFramework" version="6.2.0" targetFramework="net461" />
<package id="jQuery" version="3.3.1" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights" version="2.5.1" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.Agent.Intercept" version="2.4.0" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.DependencyCollector" version="2.5.1" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="2.5.1" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.Web" version="2.5.1" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.WindowsServer" version="2.5.1" targetFramework="net461" />
<package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="2.5.1" targetFramework="net461" />
<package id="Microsoft.AspNet.Mvc" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.Razor" version="3.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.TelemetryCorrelation" version="1.0.0" targetFramework="net461" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.HelpPage" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.4" targetFramework="net461" />
<package id="Microsoft.AspNet.WebPages" version="3.2.4" targetFramework="net461" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.0" targetFramework="net461" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" />
<package id="Modernizr" version="2.8.3" targetFramework="net461" />
<package id="Newtonsoft.Json" version="11.0.1" targetFramework="net461" />
<package id="System.Diagnostics.DiagnosticSource" version="4.4.1" targetFramework="net461" />
<package id="WebGrease" version="1.6.0" targetFramework="net461" />
</packages>
【问题讨论】:
-
您找到解决此问题的方法了吗?
标签: c# visual-studio-2017 asp.net-web-api2