.net-Framework -在Jenkins CI上创建多目标框架(MTF)库.netstandard21 / .net60时出现问题

qc6wkl3g  于 2022-11-02  发布在  Jenkins
关注(0)|答案(1)|浏览(242)

任务:将服务从. netcore 31升级到. net 6
思路:创建引用net 6和(netcore 31或netstandard 21)的MTF库
方法:jenkins,linux上的docker
停靠文件

FROM mcr.microsoft.com/dotnet/sdk:6.0 as build
copy --FROM=mcr.microsoft.com/dotnet/core/sdk:3.1 /usr/share/dotnet/shared /usr/share/dotnet/shared

构建和使用创建的MTF库-一切正常
麻烦是:使用Jenkins创建的库作业失败

Error   CS1705  Assembly '...***...* uses 'System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' which has a higher version than referenced assembly 'System.Runtime' with identity 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

有什么想法吗?Docker和Jenkins有什么遗漏?

yks3o0rb

yks3o0rb1#

我发现netcore3.1和net6.0库都是针对net6.0的(可以在dotPeek中看到)。而不是一个针对6,一个针对3.1。问题是build命令有一个输出文件夹,所以两个框架都输出到同一个位置,这意味着一个覆盖了另一个。

dotnet build "****" -c Release -o /app/build

应该是

dotnet build "****" -c Release

相关问题