You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Jenkins代理执行Dotnet构建时Sdk.targets找不到错误

解决Linux Jenkins代理上dotnet publish找不到Sdk.targets的问题

解决方案

1. 修正DOTNET_ROOT环境变量

日志显示当前DOTNET_ROOT指向/apps/jenkins-agent/.dotnet,但实际.NET SDK安装在/usr/lib64/dotnet,这会导致dotnet工具错误定位SDK路径。执行以下命令修正:

export DOTNET_ROOT='/usr/lib64/dotnet'
export PATH="$DOTNET_ROOT:$PATH"

修正后重新执行dotnet publish命令。

2. 安装ASP.NET Core Workload

dotnet --info输出显示无已安装的workload,即使目标文件存在,ASP.NET Core SDK的workload未注册也会导致MSBuild解析失败。执行以下命令安装:

dotnet workload install aspnet

安装完成后再次尝试构建。

3. 验证Jenkins用户的文件权限

确认Jenkins运行用户对目标文件有读取权限,执行:

# 替换jenkins_user为实际Jenkins代理用户名
sudo -u jenkins_user cat /usr/lib64/dotnet/sdk/8.0.103/Sdks/Microsoft.NET.Sdk.Web/Sdk/Sdk.targets

若提示权限不足,执行:

sudo chmod -R o+r /usr/lib64/dotnet/sdk/8.0.103/Sdks/

4. 清理缓存并移除--no-restore参数

缓存损坏可能导致路径解析异常,先清理缓存:

dotnet nuget locals all --clear

然后移除--no-restore参数重新发布:

dotnet publish -c release -o /apps/jenkins-agent/agent/workspace/rk_CHATBOTS_Dotnet_Deploy_master/appdeploy

内容的提问来源于stack exchange,提问作者neelamari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 18:06:32