无法在Visual Studio 2017中将EntityFrameworkCore Tools 1.0.1添加到类库中

时间:2017-07-03 14:53:20

标签: .net-core visual-studio-2017 entity-framework-core

我正在使用最新的VS2017更新与donet核心1我尝试创建一个ef迁移到我的项目 使用命令dotnet ef 但是我得到了

dotnet : No executable found matching command "dotnet-ef"

然后我从我的类库csproj(.Net Core)中删除对EntityFrameworkCore的任何引用,并且想要添加包Microsoft.EntityFrameworkCore.Tools.DotNet 1.0.1。但是我拒绝了,我收到以下错误

  

严重级代码说明项目文件行抑制状态错误包   'Microsoft.EntityFrameworkCore.Tools.DotNet 1.0.1'具有项目不支持的包类型'DotnetCliTool'   'MyVS2017Project'。 0我也在类库中尝试过它(.Net   框架)

使用程序包管理器控制台命令时出现相同的错误消息

安装包Microsoft.EntityFrameworkCore.Tools.DotNet

我尝试直接编辑csproj文件并添加

<ItemGroup>
    <DotNetCliToolReference 
     Include="Microsoft.EntityFrameworkCore.Tools.DotNet" 
     Version="1.0.0" />
 </ItemGroup>

但是dotnet ef仍然提供相同的错误消息,并且nuget包管理器看不到它

我尝试创建一个新的网络核心类库,但即使是空白的也拒绝安装工具

我已经多次运行dotnet还原并重新启动了visual studio。

我已经下载了最新的dot net SDK 1.0.4并运行修复以重新安装它。这允许安装nuget包但是尽管我做了什么,我无法让类库理解dotnet ef

2 个答案:

答案 0 :(得分:0)

我的项目面向完整的.NET框架,因此我只能使用PowerShell命令,例如add-migration,update-database而不是dotnet ef命令

答案 1 :(得分:0)

需要通过编辑项目将

wvalues添加到类库中。这是现在支持添加它的唯一方法。右键单击该项目,然后选择Microsoft.EntityFrameworkCore.Tools.DotNet。然后,添加以下内容:

Edit *.csproj

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

我在这里有一个更深入的解决方案:EF 7 Migrations with multiple DBContexts