1

Ich mache Tutorials auf .Net Core und ich kann nicht mit der Package Manager Console.Keine ausführbare Datei gefunden, die den Befehl "dotnet-ef" (Paket-Manager)

Ich mache dieses Tutorial auf dieser Link

Wenn ich auf den Paket-Manager-Konsole für Add-Migrationen oder Update Datebase (Beispiel) schreiben:

Dotnet ef miggrations hinzufügen

Yeni

es stellt sich diese Fehler:

Kann ich meine Datenbank aktualisieren oder neue Migrationen auf der Package Manager-Konsole hinzufügen? Und wie ?

Hier ist meine projects.json

{ 
    "userSecretsId": "aspnet-WebApplication6-6e4c4aee-6cd6-4565-b603-7b4517839d9c", 

    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0", 
     "type": "platform" 
    }, 
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0", 
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0", 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0", 
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.0", 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0", 
    "Microsoft.EntityFrameworkCore.SqlServer.Design": { 
     "version": "1.0.0", 
     "type": "build" 
    }, 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0", 
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    } 
    }, 

    "tools": { 
    "BundlerMinifier.Core": "2.0.238", 
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final", 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final", 
    "Microsoft.Extensions.SecretManager.Tools": "1.0.0-preview2-final", 
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": { 
     "version": "1.0.0-preview2-final", 
     "imports": [ 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "Views", 
     "Areas/**/Views", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "prepublish": [ "bower install", "dotnet bundle" ], 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 

Danke

+0

Inhalt Ihrer 'project.json' Datei fügen Sie bitte – Dmitry

+0

Ich bin es auf neues Projekt wurde tryed spielt keine Rolle, aber es funktioniert nicht ... Ich –

+0

Hmm hinzufügen wird, haben Sie eine Menge EntityFrameworkCore Pakete. .. Ich habe weniger. Versuchen Sie, alle außer 3 zu entfernen (2 in Abhängigkeiten und eins in Tools) - siehe http://stackoverflow.com/documentation/entity-framework-core/3796/introduction-to-entity-framework-core/13132/adding-packages -zu-Projekt. Ich habe mein eigenes Projekt als Quelle benutzt. Wenn das nicht hilft - kleines Projekt erstellen und github/bitbucket/... – Dmitry

Antwort

4

Package Manager-Konsole nicht unterstützt "globale Befehle" vor. Es kann nur "dotnet-ef" verstehen, wenn es sich im Projektordner (Ordner mit project.json) befindet.

So können Sie auf einen der folgenden versuchen:

  1. Versuchen Sie das aktuelle Verzeichnis der PMC auf den Ordner, in dem project.json befindet. (Standardmäßig zeigt es auf den Stamm Ordner der Lösung, nicht das Projekt.)

  2. Führen Sie den Befehl mit Powershell.

+0

Vielen Dank, es ist meine Antwort :) –

+0

Ich bekomme die Nachricht "dotnet: Keine ausführbare Datei gefunden passenden Befehl" dotnet-ef "'ist egal Was. –

+0

Haben Sie den dotnet cli installiert? Versuchen Sie, https://docs.asp.net/en/latest/tutorials/first-mvc-app/adding-model.html zu folgen, um sicherzustellen, dass Sie alle Voraussetzungen haben. – Jack