Project X 的目标框架是“.NETStandard”。实体框架包管理器控制台工具不支持此框架

问题描述 投票:0回答:5

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

项目“ESP.Console”针对框架“.NETStandard”。实体框架包管理器控制台工具不支持此框架。

但是,“ESP.Console”应用程序并不针对 .NETStandard,而是针对 net472:

  <PropertyGroup>
    <TargetFramework>net472</TargetFramework>
    <LangVersion>7.3</LangVersion>
    <OutputType>Exe</OutputType>
  </PropertyGroup>

我将

ESP.Console
控制台应用程序设置为我的启动项目,并且我将
ESP.Data
项目作为包管理器控制台中的默认项目。

这是

ESP.Data.csproj
的设置:

  <PropertyGroup>
    <TargetFrameworks>netstandard2.1;net472</TargetFrameworks>
    <EmbeddedResourceUseDependentUponConvention>true</EmbeddedResourceUseDependentUponConvention>
  </PropertyGroup>

当我正在将解决方案中的其他应用程序转换为在 .net core 上运行时,我需要它同时针对 netstandard 和 net472。

为什么我会收到此错误?是否还有另一个像

dotnet ef
这样的命令可以用于我的 EF 6.4 项目?

我们已经在此解决方案上使用 EF 迁移数百次,但自从上次我需要运行迁移以来,我们对解决方案进行了两项重大更改 - 将所有 csproj 文件转换为使用新格式(使用 PackageReference、等),并根据需要将核心项目转换为目标 .net 标准 2.0 或 2.1。所以我认为这个问题与此有关。

尝试更改 ESP.Console 应用程序以运行方式

netcoreapp3.1
会出现相同的错误。

c# entity-framework entity-framework-6
5个回答
1
投票

我已经找到了解决我的问题的方法,尽管它有点混乱,因为我需要对 csproj 文件进行临时更改才能使其运行。

就我而言,

ESP.Data
(容纳我的
DbContext
的项目)同时针对
net472
netstandard2.1
,我更改了数据项目以删除
netstandard2.1
目标框架。 VS 中似乎有一个错误,它表示 StartupProject 的目标是 NetStandard,而不是说 Target 项目的目标是 NetStandard。创建迁移后,我可以再次添加目标。

我很快就会转向 .net core 编译,因此在某个时候需要 netstandard 2.1 目标,所以我不确定当它到来时我会做什么。我可能需要保留一个 net472 控制台应用程序以供将来使用,并在迁移完成后继续在我的数据项目中定位 net472,以便继续创建迁移。


0
投票

我有一个类似的问题。
我的问题是,我的启动项目以

netcoreapp3.1
为目标并使用了
Entity Framework 6 tools

当我切换到
EntityFrameworkCore tools
时,它起作用了。


0
投票

可能是 Visual Studio 中的错误 - 在我通过迁移将启动项目更改为正确的项目后,我看到了此错误,即使我的项目使用 .NET Framework 4.8。

尝试了一些方法,但没有成功,但关闭并重新打开 Visual Studio 解决了问题。


0
投票

尝试更改目标框架顺序,使 .net 4x 排在第一位:

<TargetFrameworks>net472;netstandard2.1</TargetFrameworks>

对于引用多目标项目的项目,请尝试这样引用。 (来自:https://stackoverflow.com/a/53388855

<ProjectReference Include="..\yourMultiTargetedProject.csproj" >
  <SetTargetFramework>TargetFramework=netstandard2.1</SetTargetFramework>

-1
投票

我确实有这个问题并找到了答案。 我使用类库(.NETStandard)但是必需的类库(.NET MVC)

有了这个类库,我的项目就可以正常工作了

© www.soinside.com 2019 - 2024. All rights reserved.