gpt4 book ai didi

c# - 项目 X 目标框架 '.NETStandard' 。 Entity Framework 包管理器控制台工具不支持此框架

转载 作者:行者123 更新时间:2023-12-03 20:51:13 29 4
gpt4 key购买 nike

我正在尝试在具有 net472 项目和 netstandard 项目的解决方案中创建 EF 6.4 迁移,但出现以下错误:

Project 'ESP.Console' targets framework '.NETStandard'. The Entity Framework Package Manager Console Tools don't support this framework.


但是,“ESP.Console”应用程序不针对 .NETStandard,而是针对 net472:
  <PropertyGroup>
<TargetFramework>net472</TargetFramework>
<LangVersion>7.3</LangVersion>
<OutputType>Exe</OutputType>
</PropertyGroup>
我有 ESP.Console控制台应用程序设置为我的启动项目,我有 ESP.Data project 作为我在包管理器控制台中的默认项目。
这是 ESP.Data.csproj 的设置:
  <PropertyGroup>
<TargetFrameworks>netstandard2.1;net472</TargetFrameworks>
<EmbeddedResourceUseDependentUponConvention>true</EmbeddedResourceUseDependentUponConvention>
</PropertyGroup>
当我正在将解决方案中的其他应用程序转换为在 .net 核心上运行时,我需要它来针对 netstandard 和 net472。
为什么我收到这个错误?是否有另一个命令,如 dotnet ef我可以使用它来处理我的 EF 6.4 项目吗?
我们已经在这个解决方案上使用了数百次 EF 迁移,但是自从我上次需要运行迁移以来,我们对解决方案做了两个主要更改 - 将所有 csproj 文件转换为使用新格式(使用 PackageReference 等) ) 并在需要时将核心项目转换为目标 .net 标准 2.0 或 2.1。所以我认为这个问题与此有关。
尝试更改 ESP.Console 应用程序以作为 netcoreapp3.1 运行给出了同样的错误。

最佳答案

我找到了解决我的问题的方法,虽然它有点困惑,因为我需要对 csproj 文件进行临时更改才能运行它。
就我而言,ESP.Data (我的 DbContext 的项目)针对的是 net472netstandard2.1 ,我更改了数据项目以删除 netstandard2.1目标框架。 VS 中似乎存在一个错误,即 StartupProject 以 NetStandard 为目标,而不是 Target 项目。创建迁移后,我可以再次添加目标。
我很快就会转向 .net 核心编译,因此在某个时候需要那个 netstandard 2.1 目标,所以我不确定当那个时候我会做什么。我可能需要保留一个 net472 控制台应用程序以供将来使用,并在迁移完成后继续在我的数据项目中定位 net472,以便继续创建迁移。

关于c# - 项目 X 目标框架 '.NETStandard' 。 Entity Framework 包管理器控制台工具不支持此框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62702529/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com