2017-07-03 109 views
0

我使用与DONET核心1最新的VS2017更新我尝试创建一个EF迁移到我的项目 用命令dotnet ef 但我得到无法添加EntityFrameworkCore工具1.0.1到类库在Visual Studio 2017年

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 I也尝试在一个类库(.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

+0

编辑的csproj后你跑的dotnet恢复? – Matt

+0

是的,我做了dotnet恢复 – devc2

+0

该软件包仅适用于控制台应用程序,它不适用于类库。你有没有尝试过在控制台应用程序中执行它? ...或在一个asp.net核心应用程序,因为它也是一个控制台应用程序。 – gregkalapos

回答

0

我的项目针对完整的.NET框架,所以我只能使用PowerShell命令,例如添加迁移,更新数据库,而不是dotnet ef命令

0

Microsoft.EntityFrameworkCore.Tools.DotNet需要通过编辑项目添加到您的类库。这是现在添加它的唯一方式。右键单击该项目并选择Edit *.csproj。然后,添加以下内容:

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

注:该版本是在这篇文章时最新的,并会在将来可能会改变。

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

相关问题