ASP.Net Core 3.1 发布错误 Error NU1605 解决方案


编译都OK,发布就报错,错误提示检测到程序包降级,排查发现都是来自于 BofSoft.Data 项目引用的包 MySql.Data

/*
Error Detected package downgrade: System.Threading from 4.3.0 to 4.0.11. Reference the package directly from the project to select a different version. 
 BofSoft.Domain.Core -> BofSoft.Data -> MySql.Data 8.0.20 -> SSH.NET 2016.1.0 -> System.Net.Sockets 4.1.0 -> runtime.win.System.Net.Sockets 4.3.0 -> System.Threading (>= 4.3.0) 
 BofSoft.Domain.Core -> BofSoft.Data -> MySql.Data 8.0.20 -> SSH.NET 2016.1.0 -> System.Threading (>= 4.0.11)    BofSoft.Web.OpenApi
D:\XYZ\BofSoft\BofSoft.Domain.Core\BofSoft.Domain.Core.csproj
*/

在 BofSoft.Data 项目文件中指定所有出问题包的版本

<ItemGroup>
    <PackageReference Include="Dapper" Version="2.0.35" />
    <PackageReference Include="MySql.Data" Version="8.0.20" />
    <!--
    发布项目时出现如下错误:
    Error NU1605: Detected package downgrade: System.IO.FileSystem.Primitives from 4.3.0 to 4.0.1. Reference the package directly from the project to select a different version.
    检测到包降级,原因是 MySql.Data 中引用的包版本与 .Net Core 3.1 中的不一致,因此在下面统一指定包的版本
    -->
    <PackageReference Include="System.Diagnostics.Debug" Version="4.3.0" PrivateAssets="all" />
    <PackageReference Include="System.Globalization" Version="4.3.0" PrivateAssets="all" />
    <PackageReference Include="System.Net.Primitives" Version="4.3.0" PrivateAssets="all" />
    <PackageReference Include="System.Net.NameResolution" Version="4.3.0" PrivateAssets="all" />
    <PackageReference Include="System.IO.FileSystem" Version="4.3.0" PrivateAssets="all" />  
    <PackageReference Include="System.IO.FileSystem.Primitives" Version="4.3.0" PrivateAssets="all" />
    <PackageReference Include="System.Runtime.Extensions" Version="4.3.0" PrivateAssets="all" />
    <PackageReference Include="System.Threading" Version="4.3.0" PrivateAssets="all" />
  </ItemGroup>

再次发布成功


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM