Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net dotnet ef数据库更新-未找到与命令匹配的可执行文件;dotnet ef“;_Asp.net_.net_Asp.net Mvc_Entity Framework_Asp.net Core - Fatal编程技术网

Asp.net dotnet ef数据库更新-未找到与命令匹配的可执行文件;dotnet ef“;

Asp.net dotnet ef数据库更新-未找到与命令匹配的可执行文件;dotnet ef“;,asp.net,.net,asp.net-mvc,entity-framework,asp.net-core,Asp.net,.net,Asp.net Mvc,Entity Framework,Asp.net Core,以前有很多人问过这个问题。在过去的3个小时里,我依次尝试了每种解决方案,每次都得到相同的未找到与命令“dotnet ef”匹配的可执行文件。我想了解如何运行命令并让它实际执行 但首先是一点背景: 我正在学习如何使用ASP.NETCore1.1MVC和EntityFrameworkCore。这是一个微软教程 按照说明,可以从git下载完整的教程。执行这些步骤,我打开下载项目,并按照项目根文件夹中的readme.md文件中的步骤进行操作。它声明如下: <ItemGroup>

以前有很多人问过这个问题。在过去的3个小时里,我依次尝试了每种解决方案,每次都得到相同的
未找到与命令“dotnet ef”
匹配的可执行文件。我想了解如何运行命令并让它实际执行

但首先是一点背景:

我正在学习如何使用ASP.NETCore1.1MVC和EntityFrameworkCore。这是一个微软教程

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

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0-preview2-final" />
  </ItemGroup>
下载项目后,通过输入
dotnet创建数据库
在命令行提示符下更新ef数据库

我试过了。我使用VisualStudioDeveloper命令提示符(作为管理员)并将第一个目录更改为项目根目录,appsettings.json和*.csproj文件位于该目录下。然后我输入了以下内容:

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0-preview2-final" />
  </ItemGroup>
C:\Users\username\Downloads\Docs master\aspnetcore\data\ef mvc\intro\samples\cu final>dotnet ef数据库更新

未找到与命令“dotnet ef”匹配的可执行文件

根据教程,这应该是“工作”的原样

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

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

1.0.4

我使用的是Windows 10和Visual Studio 2017 CE 15.2版。我已经安装了ASP.NET和web开发以及.NET核心跨平台开发工作负载


我还使用.Net Framework版本4.6.01586。

请确保先进行还原,以便ef工具可用:


执行
dotnet restore
并等待其成功还原,然后执行
dotnet ef数据库更新

确保先还原,以便ef工具可用:


执行
dotnet restore
并等待其成功还原,然后执行
dotnet ef数据库更新

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

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

注意:该版本是本文发布时的最新版本,将来可能会更改

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

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


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

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

注意:该版本是本文发布时的最新版本,将来可能会更改

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

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


dotnet ef migrations add InitialCreate

有没有办法确定我应该使用哪个版本?运行迁移命令时,我看到以下内容:“C:\Users\username\Documents\Visual Studio 2017\Projects\CUPrimer\CUPrimer>dotnet ef migrations add InitialCreate Version for package
Microsoft.EntityFrameworkCore.Tools.dotnet
无法解析。”@sapbucket我正在使用Visual Studio 2017预览和.Net Core 2.0预览。该版本应与您正在使用的.Net core版本相匹配。是否有办法确定我应该使用哪个版本?运行迁移命令时,我看到以下内容:“C:\Users\username\Documents\Visual Studio 2017\Projects\CUPrimer\CUPrimer>dotnet ef migrations add InitialCreate Version for package
Microsoft.EntityFrameworkCore.Tools.dotnet
无法解析。”@sapbucket我正在使用Visual Studio 2017预览和.Net Core 2.0预览。该版本应与您正在使用的.Net core版本相匹配。可能的副本:简而言之,您需要手动编辑项目配置文件并添加对Tools/Tools.DotNet包的引用(因为VS2015/VS2017不会自动执行此操作)。有关更多信息,请参见。可能的副本:简而言之,您需要手动编辑项目配置文件,并添加对Tools/Tools.DotNet包的引用(因为VS2015/VS2017不会自动执行此操作)。欲了解更多信息。