2017-04-06 12 views
7

Visual Studio 2017'de kullanmak istediğim için .NET Core SDK 1.0.0-preview2-1-003177 ile oluşturulmuş bir çözümü taşıyorum. .NET Core SDK 1.0.1 dotnet geçiş komutu, iyi gider, derler. Bu istisna ile Build'a() deWebHostBuilder.Build() .NET'te MissingMethodException Çekirdek geçirilmiş çözüm

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

host.Run(); 

çöküyor içeren IIS Express ile web bölümü klasik program.cs çalıştırdığınızda System.MissingMethodException

: 'Yöntem bulunamadı: 'System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider (Microsoft.Extensions.DependencyInjection.IServiceCollection)'. ' Sebebi hiç bulamıyorum.

Nedeni bulamıyorum.

cevap

5

Bağımlılıklarınızdan bazılarına benziyor, doğru sürüme güncellenmiyor. Eski versiyon veya yeni versiyon olabilir. Yeni bir proje (dotnet yeni) oluşturabilir ve csproj dosyanızdaki paketler sürümünü doğrulayabilirsiniz. Hataların% 99'u sürüm uyuşmazlığına neden oluyor.

+0

Bunun sebebi olabileceğini düşündüm, onay için teşekkürler. İş arkadaşımın PC'sinden '.nuget/packages' klasörünü kopyalamak ve kullanmak çözümün işe yarıyor, şimdi görev boş bir ortamda başladığımda bağımlılıkların neyin yanlış olduğunu buluyor. Önerilerinizi nasıl yapacağınızı açıklayabilir misiniz (VS, .NET & co için yeniyim)? Çok teşekkür ederim. – oskarnrk

+0

Elbette :) .NET CLI araçları en son sürümü kullanıldıysa, yeni bir proje ile basit tip dotnet yeni NAME oluşturabilir ve temiz bir csproj ile yeni bir proje yaratabilirsiniz. Pencerelerde iseniz, yeni proje oluşturmak için yeni proje sihirbazına kolaylıkla kullanabilirsiniz. Sadece bağımlılık kısmını o csproj'dan geçerli olanınıza kopyalayın. – Chrissx

+0

Aynı probleme atladım ve .csproj dosyasını herhangi bir uyumsuzluk bulmadan önerildiği gibi yeni bir proje ile çapraz kontrol ettim. Ayrıca yeni (boş) projeyi çalıştırmayı denedim ve bu istisnayı fırlatmadı. Bu hatayı belirten başka şeyler var mı? –

1

Bu benim için oldu çünkü hevesliydi ve çok fazla EntityFrameworkCore paketi yüklüydüm.

ben hata kayboldu sonra ilk ben

Microsoft.EntityFrameworkCore.SqlServer 1.1.2 

ile kalan kimsenin Ve kaldırıldı

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

vardı.

İlgili konular