2017-04-06 1 views
7

.NET Core SDK 1.0.0-preview2-1-003177로 빌드 된 솔루션을 Visual Studio 2017에서 사용하기 때문에 마이그레이션 중입니다. .NET Core SDK 1.0.1에서 dotnet migrate 명령을 사용하면 컴파일이 잘됩니다. 나는이 예외 빌드()에서.NET Core 마이그레이션 솔루션의 WebHostBuilder.Build() MissingMethodException

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

host.Run(); 

충돌을 포함하는 IIS Express를 사용하여 웹 파트 고전 Program.cs을 실행하면 System.MissingMethodException

'방법을 찾을 수 없습니다 : 'System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider (Microsoft.Extensions.DependencyInjection.IServiceCollection)'. '

나는 이유를 찾을 수 없다.

답변

5

일부 종속물처럼 보이며 올바른 버전으로 업데이트되지 않았습니다. 이전 버전이거나 새 버전 일 수 있습니다. 새 프로젝트 (dotnet new)를 만들고 csproj 파일에서 패키지 버전의 유효성을 검사 할 수 있습니다. 버전 불일치로 인해 99 %의 오류가 발생합니다.

+0

나는 이것이 이유 일 수 있다고 생각했다. 확인해 주셔서 감사합니다. 동료의 PC에서'.nuget/packages' 폴더를 복사하고 사용하면 해결책은 작동합니다. 이제 빈 환경에서 시작할 때 의존성이 잘못된 것을 발견하게됩니다. 제안하는 방법을 설명 할 수 있습니까 (저는 VS, .NET & CO를 처음 사용합니다)? 고맙습니다. – oskarnrk

+0

확실 :) .NET CLI 도구를 최신 버전으로 설치하면 새로운 유형의 dotnet을 사용하여 새 프로젝트를 만들 수 있으며 새 프로젝트는 깨끗한 csproj로 생성됩니다. 당신이 창문에 있다면 당신은 쉽게 새로운 프로젝트 마법사를 사용하여 새로운 프로젝트를 만들 수 있습니다. 해당 csproj에서 현재 종속성 부분을 복사 한 후. – Chrissx

+0

나는 같은 문제에 뛰어 들었고, 제안 된대로 새로운 프로젝트로 내 .csproj 파일을 크로스 체크했다. 어떤 불일치도 찾지 않았다. 나는 또한 새로운 (비어있는) 프로젝트를 실행하려고 시도했다. 그리고 이것은 예외를 던지지 않았다. 이 오류가 발생할 수있는 다른 것이 있습니까? –

1

너무 열정적이었고 너무 많은 EntityFrameworkCore 패키지를 설치했기 때문에 이런 일이 일어났습니다.

가 나는 오류가 사라진 후 처음 내가

Microsoft.EntityFrameworkCore.SqlServer 1.1.2 

왼쪽 된 하나를 제거

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

했다.

관련 문제