2 votes

Erreur dans la base de données de l'échafaudage

J'ai une solution .NET Core 2.0 avec deux projets. Le premier est un projet de base de données SQL Server. L'autre projet est un projet d'application console .NET Core 2.0.

Dans le projet de la console, j'ai exécuté la commande scaffold (illustrée ci-dessous) dans le PMC sans aucun problème depuis environ un mois.

Scaffold-DbContext -Connection "Server=.\SQL2017;Database=RemodelDB;Trusted_Connection=True;" -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir Admin\Models -Context "RemodelAdminDbContext"

Aujourd'hui, cette commande s'est soudainement interrompue et j'obtiens l'erreur suivante.

Le projet de startup '' a une plateforme active de ''. Sélectionnez une autre plateforme et réessayez.

J'ai fait plusieurs recherches sur Google pour ce message d'erreur et j'ai lu la plupart des messages sur les problèmes du GIT HUB postés sur le projet GIT .NET Core. Aucune de ces solutions et idées n'a fonctionné dans mon cas.

Voici ce que j'ai essayé jusqu'à présent :

1) Créer une nouvelle application Web .NET Core 2.0 et ajouter les paquets NuGet EF Core appropriés

2) J'ai essayé de mettre la chaîne de connexion entre guillemets simples.

3) J'ai ajouté le package NuGet EFCore.SQLServer.Design

4) J'ai mis à jour tous mes paquets EF Core vers les dernières versions.

Veuillez noter que mes deux projets se construisent sans aucune erreur.

Aucune des solutions ci-dessus n'a résolu mon problème. Toute aide serait très appréciée !

23 avril 2018 Mise à jour : Cela s'est reproduit aujourd'hui ! Je n'avais pas travaillé sur cette solution/projet depuis quelques semaines. Aujourd'hui, j'ai créé un nouveau tableau pour mon application et j'ai ensuite essayé d'échafauder la classe POCO et l'erreur est apparue !

Voici le texte complet présenté dans le PMC :

PM> Scaffold-DbContext -Connection "Server=. \SQL2017 ;Database=RemodelAppDB;Trusted_Connection=True ;" -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir Admin \Models -contexte "RemodelAdminDbContext" -contexte "RemodelAdminDbContext". Le projet de démarrage '' a une plate-forme active de ''. Sélectionnez une autre plate-forme et réessayez. PM> Scaffold-DbContext -Connection "Server=. \SQL2017 ;Database=RemodelAppDB;Trusted_Connection=True ;" -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir Admin \Models -Context "RemodelAdminDbContext" -Force -Verbose Utilisation du projet 'Remodel.POCOGenerator'. Utilisation du projet de démarrage ''. La construction a commencé... [...] Le projet de démarrage '' a une plateforme active de ''. Sélectionnez une autre plate-forme et réessayez. PM> Scaffold-DbContext -Connection "Server=. \SQL2017 ;Database=RemodelAppDB;Trusted_Connection=True ;" -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir Admin \Models -Context "RemodelAdminDbContext" -Force -Verbose Utilisation du projet 'Remodel.POCOGenerator'. Utilisation du projet de démarrage ''. La construction a commencé... La construction a réussi. Le projet de démarrage '' a une plate-forme active de ''. Sélectionnez une autre plate-forme et réessayez.

0voto

exlnt Points 136

@Smit J'ai suivi votre dernier message et j'ai changé le projet de démarrage dans ma solution du projet de base de données au projet de bibliothèque de classes. Cela a résolu le problème, l'erreur a disparu et la commande scaffold a fonctionné !

0voto

elvenstone Points 13

J'ai eu cette même erreur après avoir fait quelques mises à jour, y compris netcore 2.1. Elle s'est produite en essayant d'ajouter une migration à un projet EfCore. Cependant, je ne sais pas exactement quelle mise à jour a causé le problème.

Solution

Puisque l'erreur indique que quelque chose ne va pas avec la plateforme du projet, j'ai ouvert les propriétés du projet sur l'onglet Build, j'ai sélectionné une autre "Platform target", j'ai sauvegardé, puis j'ai remis la plateforme target à sa valeur d'origine (Any CPU) et j'ai sauvegardé à nouveau.

Bien qu'un peu déroutant, cela a résolu le problème pour moi. Alors peut-être que cela fonctionnera pour vous aussi et vous évitera de vous arracher encore plus de cheveux :).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X