【发布时间】:2017-12-06 21:41:37
【问题描述】:
我正在使用最新的 VS2017 更新和 donet core 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” “我的VS2017项目”。 0 我也在类库(.Net 框架)
使用包管理器控制台命令时出现相同的错误消息
安装包 Microsoft.EntityFrameworkCore.Tools.DotNet
我尝试直接编辑csproj文件并添加
<ItemGroup>
<DotNetCliToolReference
Include="Microsoft.EntityFrameworkCore.Tools.DotNet"
Version="1.0.0" />
</ItemGroup>
但 dotnet ef 仍然给出相同的错误消息,并且 nuget 包管理器没有看到它
我尝试创建一个新的点网核心类库,但即使是空白的也拒绝安装工具
我已经多次运行 dotnet restore 并重新启动了 Visual Studio。
我已下载最新的 dot net SDK 1.0.4 并运行修复以重新安装它。这允许安装 nuget 包,但不管我做什么,我都无法让类库理解 dotnet ef
【问题讨论】:
-
在编辑完 csproj 后,您是否运行了 dotnet restore?
-
是的,我确实做了 dotnet restore
-
该包仅适用于控制台应用程序,不适用于类库。您是否尝试过在控制台应用程序中执行此操作? ...或在 asp.net 核心应用程序中,因为它也是一个控制台应用程序。
-
我一直使用这个应用程序的类库。只是自从我升级到最后一个 Visual Studio 更新后,整个事情都被打破了。我需要使用类库,因为我使用类库将数据层/存储库与前端分开
-
您可以将数据层放在类库中,但不能在类库中运行 dotnet ef。看到这个:github.com/aspnet/EntityFramework/issues/5320。作为测试,我真的会创建一个控制台应用程序,将迁移移到那里并从那里运行 dotnet ef ......只是为了测试它是否有效。如果没有,那么您的设置已损坏,如果有,则您会受到此“类库限制”的影响。
标签: .net-core visual-studio-2017 entity-framework-core