首页 文章

.NET Core迁移解决方案中的WebHostBuilder.Build()MissingMethodException

提问于
浏览
7

我正在迁移使用.NET Core SDK 1.0.0-preview2-1-003177构建的解决方案,因为我想在Visual Studio 2017中使用它 . 我使用.NET Core SDK 1.0.1中的dotnet migrate命令,它运行良好,它汇编 . 当我使用IIS Express运行Web部件时,包含的经典Program.cs

var host = new WebHostBuilder()
    .UseKestrel()
    .UseContentRoot(Directory.GetCurrentDirectory())
    .UseIISIntegration()
    .UseStartup<Startup>()
    .Build();

host.Run();

在此情况下 Build() 崩溃了

System.MissingMethodException:'找不到方法:'System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)' . '

我根本找不到原因 .

2 回答

  • 5

    它看起来像你的一些依赖项,没有更新到正确的版本 . 它可以是旧版本或新版本 . 您可以创建一个新项目(dotnet new)并验证csproj文件上的软件包版本 . 99%的错误是由版本不匹配引起的 .

  • 1

    这件事发生在我身上,因为我过度渴望并安装了太多的EntityFrameworkCore包 .

    我有

    Microsoft.EntityFrameworkCore 2.0.0-preview1-final
    Microsoft.EntityFrameworkCore.SqlServer 1.1.2
    

    我删除了第一个,所以我留下了

    Microsoft.EntityFrameworkCore.SqlServer 1.1.2
    

    然后错误就消失了 .

相关问题