.NET 解决方案在 Jenkins 中构建失败

问题描述 投票:0回答:1

我有一个包含一百多个项目的 .NET 应用程序/解决方案。作为活动的一部分,我将这些项目的

TargetFramework
4.6.1
更改为
4.6.2
(别问...)。

现在我的应用程序可以在

debug
release
模式下在本地构建并正常工作。

但是一旦我推送代码并在 Jenkins 中构建分支,它就开始失败。

我收到几个警告,例如:

警告 MSB3277:发现不同版本的“System.X.SomeAssembly”之间存在无法解决的冲突。当日志详细程度设置为详细时,这些引用冲突会在构建日志中列出。

我不太熟悉 Jenkins,MSDN 文章也没什么帮助。

有人知道或以前遇到过类似的问题吗?任何帮助都将是巨大的。

此外,我的 Jenkins 构建环境是由我无法共享的

JenkinsFile
驱动的。

asp.net .net jenkins msbuild jenkins-pipeline
1个回答
0
投票

看起来像缓存依赖项问题,您是否使用某种第三方包存储库,例如“nuget”或 nexus 存储库。在这种情况下,您可能需要在实际构建项目之前从工作区中清除这些内容。
您可能想要检查/添加的另一件事是在构建之前和之后清理工作区。如果您通过 jenkins 管道执行此操作,并结合使用永久代理,则缓存的依赖项可能是您的问题。

例如,如果您使用 nuget 作为包管理器,则在构建项目之前,您可能需要在管道 dsl 中尝试类似的操作:

bat 'dotnet nuget locals all --clear'

© www.soinside.com 2019 - 2024. All rights reserved.