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

RHEL8系统Jenkins中构建.NET 5应用报NU1101缺失包错误如何解决

解决方案

错误根因

你遇到的NU1101报错是因为RHEL专属的.NET runtime host包默认不在nuget.org官方源上架,你已经通过RPM安装了本地对应的运行时依赖,但构建逻辑默认会尝试从NuGet源拉取对应rhel.8-x64 RID的host包,因此检索失败。
你给dotnet build添加--self-contained参数报未知开关的原因是该参数为dotnet publish命令的专属参数,build阶段不支持该配置项。

解决方法

  • 方案1:修改项目配置强制使用本地运行时,无需从NuGet拉取额外包
    编辑Web.csproj文件,在<PropertyGroup>节点内添加以下配置:

    <SelfContained>false</SelfContained>
    <!-- 不需要指定RID的话可添加下一行,禁用RID相关的包检索逻辑 -->
    <DisableImplicitRuntimeIdentifier>true</DisableImplicitRuntimeIdentifier>
    

    配置完成后直接执行原有的dotnet build Web.csproj命令即可正常构建。

  • 方案2:调整Jenkins执行命令,直接用publish步骤生成产物
    如果你需要直接得到可部署的产物,可将Jenkins中的shell命令替换为:
    dotnet publish Web.csproj --configuration Release --no-self-contained --output ./publish_output
    命令执行完成后,所有构建产物会输出到当前目录的publish_output文件夹下,你可以直接处理该目录的内容即可。

验证操作

构建完成后可执行dotnet ./bin/Release/net5.0/Web.dll命令测试应用是否可以正常启动,确认构建产物可用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:36:05