Entity Framework Core不兼容DotNet Core类库

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

不可否认,DotNet核心生态系统仍然很新。

我有一个解决方案设置,包含几个类库,用于移植到DotNet核心的框架。

我将它们定位到Core 2.1(netcoreapp2.1)。

我通过NuGet安装了Microsoft.EntityFrameworkCore包(v2.2)。

本地一切都建立并运行良好。

构建定义(Azure DevOps)失败,因为NuGet不会提取EntityFrameworkCore包。特别:

Package Microsoft.EntityFrameworkCore 2.2.2 is not compatible with netcoreapp2.1 (.NETCoreApp,Version=v2.1). Package Microsoft.EntityFrameworkCore 2.2.2 supports: netstandard2.0 (.NETStandard,Version=v2.0) One or more packages are incompatible with .NETCoreApp,Version=v2.1. 

答案似乎很明显 - 但我对此感到困惑。 DotNet核心支持NET Standard 2.0。

另外 - 我在当地没有遇到这个问题。

让它更加混乱 - 如果忽略NuGet错误,构建实际上会成功。

除了netcoreapp2.1之外,我还需要做些什么来确保项目明确说明他们的目标是netstandard2.0?

这是一个有问题的项目文件。

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
  <TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>

<ItemGroup>
  <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.2" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\ACME.Framework.Common\ACME.Framework.Common.csproj" />
  <ProjectReference Include="..\ACME.Framework.Entity\ACME.Framework.Entity.csproj" />
</ItemGroup>

</Project>

更新 -

我升级到DotNet Core 2.2。仍然遇到这个问题。

enter image description here

.net-core msbuild azure-devops
1个回答
1
投票

明白了。

我的构建定义有3个任务(NuGet恢复,DotNet构建,MS测试)。

NuGet还原失败了。我能够通过下载Azure Dev Ops正在使用的相同CLI版本的NuGet(v4.1.0)来复制它。

运行NuGet还原 - 我得到了同样的错误。

将任务更改为dotnet还原可消除此问题。

我想了解一下dotnet还原正在做什么,与NuGet正在做的不同。

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