C# 无法加载一个或多个请求的类型。无法加载文件或程序集';Microsoft.VisualStudio.Coverage.CoreLib.Net

C# 无法加载一个或多个请求的类型。无法加载文件或程序集';Microsoft.VisualStudio.Coverage.CoreLib.Net,c#,dependency-injection,automapper,integration,xunit,C#,Dependency Injection,Automapper,Integration,Xunit,我创建了一个用于集成测试的XUnit测试,并遵循了下面的示例() 这将加载mvc项目的启动,但在注入auto mapper时出现异常,导致启动失败 你知道这意味着什么吗 [![Exception User Unhandled][2]][2] 测试班 // WebApplicationFactory<TEntryPoint> is used to create a TestServer for the integration tests. public class ServiceHtt

我创建了一个用于集成测试的XUnit测试,并遵循了下面的示例() 这将加载mvc项目的启动,但在注入auto mapper时出现异常,导致启动失败

你知道这意味着什么吗

[![Exception User Unhandled][2]][2]

测试班

// WebApplicationFactory<TEntryPoint> is used to create a TestServer for the integration tests.
public class ServiceHttpClientTest : IClassFixture<WebApplicationFactory<Startup>>
{
    private readonly WebApplicationFactory<Startup> _factory;

    public ServiceHttpClientTest(WebApplicationFactory<Startup> factory)
    {
        _factory = factory;
    }

    [Theory]
    [InlineData("/Index")]
    [InlineData("/About")]
    [InlineData("/Contact")]
    [InlineData("/Privacy")]
    public async Task Get_EndpointsReturnSuccessAndCorrectContentType(string url)
    {
        // Arrange
        var client = _factory.CreateClient();

        // Act
        var response = await client.GetAsync(url);

        // Assert
        response.EnsureSuccessStatusCode();  // Status Code 200-299
        Assert.Equal("text/html; charset=utf-8", response.Content.Headers.ContentType.ToString());
    }
}



enter code here
//WebApplicationFactory用于为集成测试创建TestServer。
公共类服务HttpClientTest:IClassFixture
{
私有只读WebApplicationFactory\u工厂;
公共服务HttpClientTest(WebApplicationFactory)
{
_工厂=工厂;
}
[理论]
[在线数据(“/索引”)]
[在线数据(“/About”)]
[在线数据(“/Contact”)]
[在线数据(“/隐私”)]
公共异步任务Get_EndpointsReturnSuccessAndCorrectContentType(字符串url)
{
//安排
var client=_factory.CreateClient();
//表演
var response=wait client.GetAsync(url);
//断言
response.ensureccessStatusCode();//状态代码200-299
Assert.Equal(“text/html;charset=utf-8”,response.Content.Headers.ContentType.ToString());
}
}
在这里输入代码
项目文件

我刚才也有类似的问题。Microsoft.NET.Test.Sdk 16.9.1中存在错误。立即的修复方法是将nuget包更新为预览版本(直到他们发布新版本)


src:

我刚才也有类似的问题。Microsoft.NET.Test.Sdk 16.9.1中存在错误。立即的修复方法是将nuget包更新为预览版本(直到他们发布新版本)


src:

问题似乎是自动映射程序,扫描加载的程序集以确定类型。所以我遵循Jimmy Bogard在这篇文章中给出的解决方案:

我在演示启动文件中实现了以下内容,单元测试运行得非常好

services.AddAutoMapper(**typeof(Startup)**);

问题似乎是自动映射器,扫描加载的程序集以确定类型。所以我遵循Jimmy Bogard在这篇文章中给出的解决方案:

我在演示启动文件中实现了以下内容,单元测试运行得非常好

services.AddAutoMapper(**typeof(Startup)**);

你的测试项目的csproj文件是什么样子的?更新了我的帖子。根据Neil的回答,我尝试使用Test.Sdk的预览版,但给出了相同的错误。如果您将目标框架更改为
net5.0
,有什么变化吗?您的测试项目的csproj文件是什么样子的?更新了我的帖子。根据Neil的回答,我尝试使用Test.Sdk的预览版,但给出了相同的错误。如果您将目标框架更改为
net5.0
,有什么变化吗?您的问题是否也与AutoMapper注入有关?如果我把那行注释掉,错误就会消失。不,不是。我很高兴你找到了正确的解决方案,虽然你的问题也在AutoMapper注射上?如果我把那行注释掉,错误就会消失。不,不是。我很高兴你找到了正确的解决方案