dotnet ef数据库更新 - 找不到匹配命令的可执行文件" dotnet-ef"

时间:2017-07-13 22:32:51

标签: asp.net .net asp.net-mvc entity-framework asp.net-core

有很多人以前就这个问过这个问题。在过去的3个小时里,我已经按顺序尝试了每个解决方案,每次都得到相同的No executable found matching command "dotnet-ef"。我想了解如何运行命令并让它实际执行。

但首先是一点背景:

我正在学习如何使用ASP.Net Core 1.1 MVC和Entity Framework Core。这是Microsoft教程that can be found here

完成的教程可以按照说明从git下载。执行这些步骤我打开下载项目并按照项目根文件夹中readme.md文件中的步骤操作。它陈述如下:

  

下载项目后,通过在命令行提示符下输入dotnet ef database update来创建数据库

我尝试过的。我使用visual studio developer命令提示符(作为管理员)并首先将目录更改为项目根目录,其中appsettings.json和* .csproj文件位于此处。然后我输入以下内容:

  

C:\ Users \ username \ Downloads \ Docs-master \ aspnetcore \ data \ ef-mvc \ intro \ samples \ cu-final> dotnet ef database update

     

找不到匹配命令" dotnet-ef"

的可执行文件

根据教程,这应该"工作"原样。

对我来说很奇怪的是,如果我运行以下命令,我会得到输出,这表明dotnet.exe正在运行。

  

C:\ Users \用户名\下载\文档主\ aspnetcore \数据\ EF-MVC \前奏\样品\铜最终> DOTNET    - 版本

     

1.0.4

我使用的是Windows 10和Visual Studio 2017 CE版本15.2。我安装了ASP.NET和Web开发以及.Net Core跨平台开发工作负载。

我也在使用.Net Framework版本4.6.01586。

2 个答案:

答案 0 :(得分:1)

确保先恢复,以便ef工具可用:

执行dotnet restore并等待它成功恢复,然后执行dotnet ef database update

答案 1 :(得分:0)

Microsoft.EntityFrameworkCore.Tools.DotNet需要添加到您的项目中。右键单击该项目,然后选择Edit *.csproj。然后,添加以下内容:

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0-preview2-final" />
  </ItemGroup>

注意:该版本是本文发布时的最新版本,将来可能会发生变化。

这些工具只能通过此时直接编辑.proj来添加。

运行命令最简单的方法是右键单击项目并Open Folder in File Explorer。然后,在cmd的地址栏中键入File Explorer以在该文件夹中打开命令提示符。现在使用以下命令创建初始迁移:

dotnet ef migrations add InitialCreate