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

osk*_*nrk 7 c# asp.net .net-core dotnet-cli

我正在迁移使用.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();
Run Code Online (Sandbox Code Playgroud)

使用此异常在Build()崩溃

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

我根本找不到原因.

小智 5

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