我正在迁移使用.NET Core SDK 1.0.0-preview2-1-003177构建的解决方案,因为我想在Visual Studio 2017中使用它。我使用.NET Core SDK 1.0中的dotnet migrate命令。 1,它很顺利,它编译。当我使用IIS Express运行Web部件时,包含
的经典 Program.csvar host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
Build()在此异常
时崩溃System.MissingMethodException:&#39;找不到方法: &#39; System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)&#39;&#39;
我根本找不到原因。
答案 0 :(得分:5)
它看起来像你的一些依赖项,没有更新到正确的版本。它可以是旧版本或新版本。您可以创建一个新项目(dotnet new)并验证csproj文件上的软件包版本。 99%的错误是由版本不匹配引起的。
答案 1 :(得分:1)
这件事发生在我身上,因为我过于渴望并安装了太多的EntityFrameworkCore包。
我有
Microsoft.EntityFrameworkCore 2.0.0-preview1-final
Microsoft.EntityFrameworkCore.SqlServer 1.1.2
我删除了第一个,所以我留下了
Microsoft.EntityFrameworkCore.SqlServer 1.1.2
然后错误就消失了。