web-dev-qa-db-de.com

EF Core Error - Es wurde kein Projekt gefunden. Ändern Sie das aktuelle Arbeitsverzeichnis oder verwenden Sie die Option --project

Ich verwende Visual Studio 2015 und Dotnet Core und versuche, ein EF Core Code First-Projekt mit Sqlite und diese Dokumentation/dieses Tutorial zu entwickeln, die auch Sqlite => NET Core verwendet. Neue Datenbank

Wenn ich versuche, eine erste Migration von der Befehlszeile aus hinzuzufügen (ich bin in den Ordner, in dem sich mein Datenmodellprojekt befindet, auf CD-ROM gespeichert), geben Sie den folgenden Befehl aus

dotnet ef migrations add InitialMigration

... bekomme ich den folgenden Fehler.

 enter image description here

Es wurde kein Projekt gefunden. Ändern Sie das aktuelle Arbeitsverzeichnis oder verwenden Sie die Option --project.

Ich habe sogar versucht, die --project-Option so zu verwenden.

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

aber das gibt den folgenden Fehler.

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

Ich habe festgestellt, dass die Dokumentation eine .csproj-Datei verwendet, während mein Projekt eine xproj-Datei anzeigt. Die Dokumente erwähnen auch, dass project.json nicht mehr verwendet wird :(

Hier ist meine project.json-Datei. 

{
  "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"
    }
  }

Was hat sich verändert? Haben wir keine andere Wahl, als Installieren von Visual Studio 2017 und von vorne zu beginnen? Wird project.json und all das andere Zeug nicht mehr geehrt? 

Scheint mir eine massive Veränderung zu sein, wenn das der Fall ist :(

11
Shiva

Anstatt:

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

versuchen:

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

manchmal müssen Sie das aktuelle Verzeichnis in Konsole/Terminal ändern, zB:

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

und Richten Sie Ihre Paketversionen aus . Verwenden Sie entweder die Pakete preview1 oder preview2 . Eine Kombination davon wird nicht unterstützt.

23
Akshay Mishra
  1. Fügen Sie das Nuget-Paket Microsoft.EntityFrameworkCore.Tools hinzu.
  2. Fügen Sie das Nuget-Paket Microsoft.EntityFrameworkCore.Design hinzu.
  3. Klicken Sie mit der rechten Maustaste auf Ihre Projektdatei, wählen Sie Edit aus, und fügen Sie der ItemGroup, die PackageReference-Knoten enthält, Folgendes hinzu

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

(Die neueste Version finden Sie im Nuget Package Manager.)

  1. Öffnen Sie die Package Manage Console: Tools-> Nuget Package Manager-> Package Manager Console
  2. Geben Sie cd {path where your csproj file resides} ein (dies ist wichtig)
  3. Geben Sie jetzt dotnet ef migrations add InitialMigration ein.

Ich hatte gerade ein ähnliches Problem. Behoben durch Downgrade auf 1.0.0-preview3-final

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

--project param in --startup-project ändern und ändern

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

In global.json habe ich auch die Version auf runtergestuft

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

Dies kann eine temporäre Problemumgehung sein, bevor Sie zu csproj migrieren.

2
Artur Karbone

Der Befehl dotnet-ef wurde verschoben.

Sie müssen einen Verweis auf .__ hinzufügen. Microsoft.EntityFrameworkCore.Tools.DotNetUNDMicrosoft.EntityFrameworkCore.Design an Ihre Abhängigkeiten in project.json, fügen Sie dann Microsoft.EntityFrameworkCore.Tools.DotNet zum Tools-Abschnitt hinzu, und Sie sollten fertig sein.

Zitiert aus: http://errummwelluhh.blogspot.com

0
susieloo_