Je migre une solution construite avec .NET Core SDK 1.0.0-preview2-1-003177 car je souhaite l'utiliser dans Visual Studio 2017. J'utilise la commande dotnet migrate de .NET Core SDK 1.0.1, ça se passe bien , il compile. Lorsque j'exécute le composant WebPart avec IIS Express, le Program.cs classique contenant

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

host.Run();

Plante à Build () avec cette exception

System.MissingMethodException: 'Méthode introuvable:' System.IServiceProvider Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider (Microsoft.Extensions.DependencyInjection.IServiceCollection) '.'

Je ne trouve pas du tout la raison.

7
oskarnrk 6 avril 2017 à 16:56

2 réponses

Meilleure réponse

Il ressemble à certaines de vos dépendances, non mises à jour vers la bonne version. Il peut s'agir d'une ancienne version ou d'une nouvelle version. Vous pouvez créer un nouveau projet (dotnet new) et valider la version des packages sur votre fichier csproj. 99% de l'erreur est due à une incompatibilité de version.

5
Chrissx 9 avril 2017 à 05:19

Cela s'est produit pour moi parce que j'étais trop impatient et que j'avais installé trop de packages EntityFrameworkCore.

J'ai eu

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

J'ai enlevé le premier donc je suis resté avec

Microsoft.EntityFrameworkCore.SqlServer 1.1.2

Et puis l'erreur a disparu.

1
ChrisBellew 8 juin 2017 à 01:04