.net core 无法加载类型';上下文';来自组件';Microsoft.AspNetCore.Hosting';

.net core 无法加载类型';上下文';来自组件';Microsoft.AspNetCore.Hosting';,.net-core,integration-testing,asp.net-core-testhost,.net Core,Integration Testing,Asp.net Core Testhost,运行某些控制器的集成测试时,出现以下异常: Error Message: System.TypeLoadException : Could not load type 'Context' from assembly 'Microsoft.AspNetCore.Hosting, Version=3.1.5.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. 我已经检查过了,但没有帮助 以下是单元测试项目中的依赖项列表: netc

运行某些控制器的集成测试时,出现以下异常:

Error Message:
   System.TypeLoadException : Could not load type 'Context' from assembly
 'Microsoft.AspNetCore.Hosting, Version=3.1.5.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
我已经检查过了,但没有帮助

以下是单元测试项目中的依赖项列表:


netcoreapp3.1
假的
保存最新
下面是一个测试用例的示例:

private readonly TestServer\u服务器;
私有只读HttpClient\u客户端;
公共家庭控制器测试()
{
_服务器=新的TestServer(WebHost.CreateDefaultBuilder()
.UseStartup());
_client=_server.CreateClient();
}
[事实]
公共异步任务主\u控制器\u获取\u应\u返回\u字符串\u内容()
{
var response=wait_client.GetAsync(“/”);
response.EnsureSuccessStatusCode();
var content=await response.content.ReadAsStringAsync();
content.Should().beequivalento(“来自MyMicroserviceActio API的您好!”);
}

整个项目是

您需要将Microsoft.AspNetCore.TestHost升级到兼容的3.x版本(已提交PR)。

我经常使用
TestHost
,因此我知道它需要一个软件包才能工作。错误消息告诉您,它无法从Microsoft.AspNetCore.Hosting,Version=3.1.5.0加载类型,因此我首先检查的是.csproj中相关软件包的版本。根据我的经验,以.NET Core m.x为目标并链接一些Microsoft拥有的n.x包是一个危险信号,如果n