web-dev-qa-db-fra.com

EF Core Error - Aucun projet n'a été trouvé. Changer le répertoire de travail en cours ou utiliser l'option --project

J'utilise Visual Studio 2015 et CoreNet et j'essaie de développer un projet EF Core Code First à l'aide de Sqlite et de cette documentation/didacticiel, qui utilise également Sqlite => NET Core - Nouvelle base de données

Lorsque j'essaie d'ajouter une migration initiale à partir de la ligne de commande (je suis CD-ed dans le dossier dans lequel se trouve mon projet de modèle de données) en lançant la commande suivante

dotnet ef migrations add InitialMigration

... Je reçois l'erreur suivante.

 enter image description here

Aucun projet n'a été trouvé. Changez le répertoire de travail en cours ou utilisez l'option --project.

J'ai même essayé d'utiliser l'option --project comme ça.

> dotnet --project "C:\Shiva\EF\EFCFSqlite.Data.xproj"  ef migrations add InitialMigration

mais cela donne l'erreur suivante.

Unknown option: --project
.NET Command Line Tools (1.0.0-preview2-003131)
Usage: dotnet [Host-options] [command] [arguments] [common-options]

J'ai remarqué que la documentation utilise le fichier .csproj alors que mon projet affiche un fichier xproj. De plus, les docs mentionnent quelque chose sur le fait de ne plus utiliser project.json :(

Voici mon fichier project.json

{
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.EntityFrameworkCore.Sqlite": "1.1.1",
    "Microsoft.EntityFrameworkCore.Sqlite.Design": "1.1.1",
    "NETStandard.Library": "1.6.1"
  },
  "tools": {
    "Microsoft.EntityFrameworkCore.Tools.DotNet":"1.0.0"
  },
  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  }

Qu'est ce qui a changé? N'avons-nous pas d'autre choix que Installer Visual Studio 2017 et recommencer à zéro? project.json et tous ces autres éléments ne sont-ils plus respectés? 

Cela semble être un changement massif pour moi si c'est le cas :(

11
Shiva

Au lieu de:

"tools": {
    "Microsoft.EntityFrameworkCore.Tools.DotNet":"1.0.0"
  },

essayer:

"tools": {
      "Microsoft.EntityFrameworkCore.Tools.DotNet": {
      "version": "1.0.0-preview3-final"
  }},
11
Gys Rademeyer

vous avez parfois besoin de changer le répertoire actuel dans console/terminal, par exemple:

PM> cd E:\Projects\CrossTest\
PM> dotnet ef migrations add InitialMigration

et Alignez les versions de vos packages . Utilisez les packages preview1 ou preview2 . Un mélange de ceux-ci ne sont pas supportés.

23
Akshay Mishra
  1. Ajouter le package de nuget Microsoft.EntityFrameworkCore.Tools
  2. Ajouter le package de nuget Microsoft.EntityFrameworkCore.Design
  3. Cliquez avec le bouton droit sur votre fichier projet, sélectionnez Edit, puis ajoutez ce qui suit à la ItemGroup qui contient PackageReference noeuds

<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />

(Vous pouvez trouver la dernière version en la trouvant dans le gestionnaire de paquets Nuget)

  1. Ouvrez la console de gestion des packages: Outils-> Nuget Package Manager-> Console du gestionnaire de packages
  2. Tapez cd {path where your csproj file resides} (c'est important)
  3. Maintenant, tapez dotnet ef migrations add InitialMigration
6

Juste face à un problème similaire. Fixé en rétrogradant à 1.0.0-preview3-final

"tools": {
     "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-preview3-final",    
}

et changer --project param en --startup-project

dotnet ef --startup-project <PATH_TO_PROJECT_DIRECTORY> migrations add <MIGRATION_NAME>

Dans global.json, j’ai également abaissé la version à

 "sdk": {
     "version": "1.0.0-preview2-003131"
 }

Il peut s’agir d’une solution temporaire avant de migrer vers csproj.

2
Artur Karbone

La commande dotnet-ef a été déplacée.

Vous devrez ajouter une référence à (Microsoft.EntityFrameworkCore.Tools.DotNet} _ ETMicrosoft.EntityFrameworkCore.Design à vos dépendances dans project.json, puis ajoutez Microsoft.EntityFrameworkCore.Tools.DotNet à la section outils et vous devriez être prêt à partir.

Cité de: http://errummwelluhh.blogspot.com

0
susieloo_