小编Nic*_*ubi的帖子

由于 EntityFramework 版本不同,.NET Core 构建警告

使用 VS 2019,我的几个项目在编译时生成此构建警告:

5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2081,5):警告 MSB3277:发现不同版本的“Microsoft. EntityFrameworkCore”无法解析。当日志详细程度设置为详细时,这些引用冲突会在构建日志中列出。

由于日志不是真的......详细(即使在详细模式下),我调查了一下,似乎错误是由 Pomelo.EntityFrameworkCore.Mysql/3.1.2(我们使用的是 MariaDB)引起的。这是一个项目 json 的摘录,依赖于 EF 3.1.0 而当前版本是 3.1.6:

  "Pomelo.EntityFrameworkCore.MySql/3.1.2": {
    "type": "package",
    "dependencies": {
      "Microsoft.EntityFrameworkCore.Relational": "3.1.0",
      "MySqlConnector": "[0.61.0, 1.0.0)",
      "Pomelo.JsonObject": "2.2.1"
    },
Run Code Online (Sandbox Code Playgroud)

以下是 PackageReference 的示例,包括发生警告的测试项目的部分:

  <ItemGroup>
    <PackageReference Include="FluentAssertions" Version="5.10.3" />
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
    <PackageReference Include="NSubstitute" Version="4.2.2" />
    <PackageReference Include="XmlUnit.Core" Version="2.8.0" />
    <PackageReference Include="xunit" Version="2.4.1" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.2">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="coverlet.collector" Version="1.3.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup> …
Run Code Online (Sandbox Code Playgroud)

entity-framework mariadb .net-core pomelo-entityframeworkcore-mysql

6
推荐指数
1
解决办法
2491
查看次数