找不到可执行文件匹配命令“dotnet-ef”(软件包管理器)

问题描述:

我正在制作.Net Core上的教程,我无法使用软件包管理器控制台。找不到可执行文件匹配命令“dotnet-ef”(软件包管理器)

我对这个Link

使本教程中,当我在包管理器控制台写插件迁移或更新DATEBASE(例):

DOTNET EF miggrations添加耶尼

事实证明这错误:

dotnet : No executable found matching command "dotnet-ef" 
At line:1 char:1 
+ dotnet ef miggrations add Yeni 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (No executable f...and "dotnet-ef":String) [], RemoteException 
    + FullyQualifiedErrorId : NativeCommandError 

我可以更新我的数据库,还是可以在包管理器控制台上添加新的迁移?如何 ?

这里是我的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%" ] 
    } 
} 

谢谢

+0

添加'project.json'文件的内容,请 – Dmitry

+0

这不要紧,我tryed新的项目,但它不工作...我会加 –

+0

嗯,你有很多EntityFrameworkCore包。 ..我少了。尝试删除除3之外的所有内容(2个依赖关系和一个工具) - 请参阅http://*.com/documentation/entity-framework-core/3796/introduction-to-entity-framework-core/13132/adding-packages -项目 。我用我自己的项目作为源。如果这不会帮助 - 创建小项目,并把github/bitbucket/... – Dmitry

包管理器控制台不支持 “全局命令” 呢。它只能在项目文件夹(包含project.json的文件夹)中理解“dotnet-ef”。

所以,你可以尝试以下操作之一:

  1. 尝试改变PMC的当前目录到 project.json所在的文件夹。 (默认情况下,它指向解决方案的根目录 文件夹,而不是项目。)

  2. 使用powershell运行该命令。

+0

非常感谢你这是我的回答:) –

+0

我得到的消息'dotnet:没有可执行文件找到匹配命令“dotnet-ef”'无关紧要什么。 –

+0

您是否安装了dotnet cli?请尝试遵循https://docs.asp.net/en/latest/tutorials/first-mvc-app/adding-model.html以确保您具备所有先决条件。 – Jack