当我想将迁移添加到我的项目时,我得到了以下错误:
dotnet :找不到可执行的匹配命令“dotnet”
为了解决这个问题,我添加了下面的包,但仍然得到了相同的错误。
Microsoft.EntityFrameworkCore.Design(2.0.0)
Microsoft.EntityFrameworkCore.Tools.DotNet(2.0.0)我找到了一些解决方案,但这些都是基于.net-core-1的,在.net-core-2中,我们没有project.json文件。
更新:
这是我的.csproj文件:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Extensions.Configuration">
<HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.configuration\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll</HintPath>
</Reference>
</ItemGroup>
</Project>发布于 2017-09-05 08:31:08
为了使dotnet ef工作,您需要向DotNetCliToolReference元素添加一个.csproj,如下所示:
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />这需要驻留在ItemGroup中,如下所示:
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>您还需要确保从与dotnet ef文件相同的位置运行.csproj。
发布于 2017-10-12 00:00:52
发布于 2018-01-22 22:40:48
我知道你们中的一些人会问这个问题,因为没有可执行文件找到匹配命令“dotnet-”的一部分标题。就我而言,它是:
No executable found matching command “dotnet-My”还有..。原来我的应用程序名是“我的应用程序”。确保程序集名称中没有空格。我将它改为"MyApp“,并正确地加载了它。
https://stackoverflow.com/questions/46050077
复制相似问题