Je construis une application WPF avec EntityFrameworkCore version 2.2.2
Cependant, lorsque je veux Add-Migration
, cela me renvoie une erreur ...
Le «projet» de votre projet de démarrage ne fait pas référence à Microsoft.EntityFrameworkCore.Design. Ce package est requis pour que les outils de base d'Entity Framework fonctionnent. Assurez-vous que votre projet de démarrage est correct, installez le package et réessayez.
Je ne sais pas pourquoi cela se produit, car je peux l'utiliser avant que cette erreur ne se produise. P >
Ceci est mon fichier packages.config
<?xml version="1.0" encoding="utf-8"?> <packages> <package id="Costura.Fody" version="3.3.2" targetFramework="net461" /> <package id="Fody" version="4.0.2" targetFramework="net461" developmentDependency="true" /> <package id="Microsoft.CSharp" version="4.5.0" targetFramework="net461" /> <package id="Microsoft.Data.Sqlite.Core" version="2.2.2" targetFramework="net461" /> <package id="Microsoft.DotNet.PlatformAbstractions" version="2.1.0" targetFramework="net461" /> <package id="Microsoft.EntityFrameworkCore" version="2.2.2" targetFramework="net461" /> <package id="Microsoft.EntityFrameworkCore.Abstractions" version="2.2.2" targetFramework="net461" /> <package id="Microsoft.EntityFrameworkCore.Analyzers" version="2.2.2" targetFramework="net461" /> <package id="Microsoft.EntityFrameworkCore.Design" version="2.2.2" targetFramework="net461" /> <package id="Microsoft.EntityFrameworkCore.Relational" version="2.2.2" targetFramework="net461" /> <package id="Microsoft.EntityFrameworkCore.Sqlite" version="2.2.2" targetFramework="net461" /> <package id="Microsoft.EntityFrameworkCore.Sqlite.Core" version="2.2.2" targetFramework="net461" /> <package id="Microsoft.EntityFrameworkCore.Tools" version="2.2.2" targetFramework="net461" developmentDependency="true" /> <package id="Microsoft.Extensions.Caching.Abstractions" version="2.2.0" targetFramework="net461" /> <package id="Microsoft.Extensions.Caching.Memory" version="2.2.0" targetFramework="net461" /> <package id="Microsoft.Extensions.Configuration" version="2.2.0" targetFramework="net461" /> <package id="Microsoft.Extensions.Configuration.Abstractions" version="2.2.0" targetFramework="net461" /> <package id="Microsoft.Extensions.Configuration.Binder" version="2.2.0" targetFramework="net461" /> <package id="Microsoft.Extensions.DependencyInjection" version="2.2.0" targetFramework="net461" /> <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="2.2.0" targetFramework="net461" /> <package id="Microsoft.Extensions.DependencyModel" version="2.1.0" targetFramework="net461" /> <package id="Microsoft.Extensions.Logging" version="2.2.0" targetFramework="net461" /> <package id="Microsoft.Extensions.Logging.Abstractions" version="2.2.0" targetFramework="net461" /> <package id="Microsoft.Extensions.Options" version="2.2.0" targetFramework="net461" /> <package id="Microsoft.Extensions.Primitives" version="2.2.0" targetFramework="net461" /> <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net461" /> <package id="Remotion.Linq" version="2.2.0" targetFramework="net461" /> <package id="SQLitePCLRaw.bundle_green" version="1.1.12" targetFramework="net461" /> <package id="SQLitePCLRaw.core" version="1.1.12" targetFramework="net461" /> <package id="SQLitePCLRaw.lib.e_sqlite3.linux" version="1.1.12" targetFramework="net461" /> <package id="SQLitePCLRaw.lib.e_sqlite3.osx" version="1.1.12" targetFramework="net461" /> <package id="SQLitePCLRaw.lib.e_sqlite3.v110_xp" version="1.1.12" targetFramework="net461" /> <package id="SQLitePCLRaw.provider.e_sqlite3.net45" version="1.1.12" targetFramework="net461" /> <package id="System.Buffers" version="4.4.0" targetFramework="net461" /> <package id="System.Collections.Immutable" version="1.5.0" targetFramework="net461" /> <package id="System.ComponentModel.Annotations" version="4.5.0" targetFramework="net461" /> <package id="System.Diagnostics.DiagnosticSource" version="4.5.0" targetFramework="net461" /> <package id="System.Interactive.Async" version="3.2.0" targetFramework="net461" /> <package id="System.Memory" version="4.5.1" targetFramework="net461" /> <package id="System.Numerics.Vectors" version="4.4.0" targetFramework="net461" /> <package id="System.Runtime.CompilerServices.Unsafe" version="4.5.1" targetFramework="net461" /> <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.0.0" targetFramework="net461" /> </packages>
Le package est déjà installé.
Merci beaucoup pour toute aide.
3 Réponses :
Add-Migration
peut devenir confus car vous utilisez Costura pour incorporer des assemblys. Essayez de supprimer costura pour voir si cela résout le problème.
# $ && $ * & $ ** Je viens de passer 3 heures effrayantes dessus et c'était Costura !!!!,!
@ChristopherKelly désolé d'entendre ça. heureux d'accepter un PR qui fait fonctionner ce scénario
Je l'ai installé en utilisant cette commande et cela fonctionne!
J'utilise .net core version 3.1.1
dotnet add package Microsoft.EntityFrameworkCore.Design --version 3.1.1
Super ça marche pour moi :) Il suffit d'adapter avec la bonne --version
selon le youproject.context.csproj
Installez-le à nouveau en utilisant PMC et il trouvera la référence:
PM> dotnet add package Microsoft.EntityFrameworkCore.Design
Qu'est-ce que PMC? Pourriez-vous s'il vous plaît développer?
Oh, je vois, vous voulez dire "Package Manager Console". Ceux qui ne sont pas habitués à cet environnement ont des difficultés à décoder les acronymes (cela n'a pas fonctionné dans mon cas, cependant).
faites un clic droit sur votre projet, choisissez
Gérer les packages nuget
, allez dansParcourir
, recherchezMicrosoft.EntityFrameworkCore.Design
et assurez-vous qu'il est installé.@Masoud Keshavarz J'ai vérifié et il a été installé.
Avez-vous plusieurs projets dans votre solution? Vous devez définir votre
Modèle
comme projet de démarrage, qui contient la classeDBContext
. Choisissez égalementModèle
comme projet par défaut dansPackage Manager Console
@Masoud Keshavarz Je n'ai qu'un seul projet dans ma solution. J'ai essayé tout ce que vous avez dit et ne fonctionne toujours pas .... J'ai essayé de créer un nouveau projet, et je ne travaille pas trop ...
@MasoudKeshavarz pensez-vous que réinstaller Visual Studio peut le résoudre?
Non, ce n'est pas pertinent, peut-être sa meilleure idée d'installer
dotnet core sdk
@MasoudKeshavarz Je pense avoir trouvé le problème. J'ai installé le package Fody pour le Costura.Fody, après avoir désinstallé le Fody, je travaille comme d'habitude ...