【发布时间】:2020-11-04 05:46:22
【问题描述】:
我正在尝试使用实体框架工作核心并打开一个新的 asp.net 核心项目。当我尝试通过 nuget 包管理器安装 Microsoft.EntityFrameworkCore.SqlServer 时,出现以下错误。
包 Microsoft.EntityFrameworkCore.SqlServer 3.0.0 与 net461 (.NETFramework,Version=v4.6.1) 不兼容。包 Microsoft.EntityFrameworkCore.SqlServer 3.0.0 支持:netstandard2.1 (.NETStandard,Version=v2.1)
当我点击它时,我会被发送到 .csproj 文件。
在该文件中,我将目标框架从
<TargetFramework>net461</TargetFramework> 到
<TargetFramework>netstandard2.1 </TargetFramework> 正如错误所暗示的那样。
这样做可以消除错误,但是当我在包管理器控制台中使用命令“add-migration”时出现此错误。
“'add-migration' 一词未被识别为 cmdlet 的名称”
我不确定接下来要做什么。请帮忙。我希望我已经清楚地解释了这个问题。
删除 project.assets 文件或更新 nuget 包管理器并使用命令“enable-migrations”也不起作用。
【问题讨论】:
-
请确保您使用的是最新的 VS2019。 .net 3.0 的默认目标框架应该是 netcoreapp3.0。我认为您选择了错误的模板。检查:docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-3.0/… - 你必须安装 dotnet ef,因为它不再是 SDK 的一部分
-
我试图在帖子中嵌入一张图片来说明我做了什么。我在模板部分选择了 .Net core 和 ASP.NET CORE 3.0,我能够轻松安装 Microsoft.EntityFrameworkCore.SqlServer。谢谢康拉德!非常感谢。
-
现在使用的命令是 dotnet ef migrations。但是,当我这样做并为迁移命名时,它会显示“未找到项目。更改当前工作目录或使用 --project 选项。”即使它在下拉菜单中指向我的项目。
-
打开命令行,将目录切换到你的csproj文件,然后运行dotnet ef命令。
-
帮助安装了 Microsoft.EntityFrameworkCore.Tools
标签: c# asp.net-core entity-framework-core code-first