未找到方法:'System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider'

Method not found: 'System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider'

在我的 .net Core 应用的 Main 方法中我遇到了这个错误,我不知道我应该在哪里寻找解决方案。

这是我的主要方法:

 public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .UseApplicationInsights()
            .Build();

        host.Run();
    }

这是我在按 F5 启动项目时收到的错误消息:

System.MissingMethodException: 'Method not found: 'System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)'.'

已解决将 ApplicationInsights 包从 2.0 版本降级到版本 1.1.2

我刚刚在使用 aspnet core 2.0 时遇到了这个问题,在我的例子中,将其他默认包(AspNetCore、AspNetCore.Mvc、NetCore.App)升级到 2.0 就成功了,尽管安装了 2.0包(除了 App insights)最初是 1.1.x

我在使用 Sql nuget 和升级解决了问题时遇到了类似的问题。

IDbContextFactory 必须更改为 IDesignTimeDbContextFactory

对于 .NET Core 3.1,出于某种原因 Visual Studio 没有提示我需要添加 using Microsoft.Extensions.DependencyInjection;。手动添加为我修复了它。