C# 不为类型'提供服务;Microsoft.Extensions.Http.DefaultHttpClientFactory';已注册

C# 不为类型'提供服务;Microsoft.Extensions.Http.DefaultHttpClientFactory';已注册,c#,visual-studio,unit-testing,nuget-package,C#,Visual Studio,Unit Testing,Nuget Package,Visual Studio 2019。c#。 某些更改后的现有单元测试开始失败,并显示错误消息 System.InvalidOperationException:尚未注册类型为“Microsoft.Extensions.Http.DefaultHttpClientFactory”的服务 有趣的是,没有对测试代码进行直接更改。 更新了一些软件包,仅此而已。我发现要解决这个问题,它需要 安装软件包Microsoft.AspNet.WebApi.Core 5.2.7(发布文章时的版本) 在那之后,我必

Visual Studio 2019。c#。 某些更改后的现有单元测试开始失败,并显示错误消息

System.InvalidOperationException:尚未注册类型为“Microsoft.Extensions.Http.DefaultHttpClientFactory”的服务

有趣的是,没有对测试代码进行直接更改。
更新了一些软件包,仅此而已。

我发现要解决这个问题,它需要 安装软件包Microsoft.AspNet.WebApi.Core 5.2.7(发布文章时的版本)

在那之后,我必须实现IHttpClientFactory

因为它是测试,所以它很简单

    public class HttpClientFactoryTest : IHttpClientFactory
    {
        public HttpClient CreateClient(string name)
        {
            var config = new HttpConfiguration();
            config.MapHttpAttributeRoutes();
            var inMemoryServer = new HttpServer(config);
            return new HttpClient(inMemoryServer);
        }
    }
然后它还需要像这样注册类型

unityContainer.RegisterType<IHttpClientFactory, HttpClientFactoryTest>();
unityContainer.RegisterType();
之后,错误消失了


看来你的问题已经解决了,请考虑一下。