任务:将服务从. 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有什么遗漏?
1条答案
按热度按时间yks3o0rb1#
我发现netcore3.1和net6.0库都是针对net6.0的(可以在dotPeek中看到)。而不是一个针对6,一个针对3.1。问题是build命令有一个输出文件夹,所以两个框架都输出到同一个位置,这意味着一个覆盖了另一个。
应该是