找不到可执行文件匹配命令“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%" ]
}
}
谢谢
包管理器控制台不支持 “全局命令” 呢。它只能在项目文件夹(包含project.json的文件夹)中理解“dotnet-ef”。
所以,你可以尝试以下操作之一:
尝试改变PMC的当前目录到 project.json所在的文件夹。 (默认情况下,它指向解决方案的根目录 文件夹,而不是项目。)
使用powershell运行该命令。
非常感谢你这是我的回答:) –
我得到的消息'dotnet:没有可执行文件找到匹配命令“dotnet-ef”'无关紧要什么。 –
您是否安装了dotnet cli?请尝试遵循https://docs.asp.net/en/latest/tutorials/first-mvc-app/adding-model.html以确保您具备所有先决条件。 – Jack
添加'project.json'文件的内容,请 – Dmitry
这不要紧,我tryed新的项目,但它不工作...我会加 –
嗯,你有很多EntityFrameworkCore包。 ..我少了。尝试删除除3之外的所有内容(2个依赖关系和一个工具) - 请参阅http://stackoverflow.com/documentation/entity-framework-core/3796/introduction-to-entity-framework-core/13132/adding-packages -项目 。我用我自己的项目作为源。如果这不会帮助 - 创建小项目,并把github/bitbucket/... – Dmitry