編譯都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>
再次發布成功