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

如何在dotnet publish命令中指定Nexus制品库外部依赖完成构建

dotnet publish 执行时会自动解析项目配置的NuGet包源拉取依赖,要调用Nexus上托管的私有依赖包,按以下两种场景操作即可:

场景1:单次构建临时指定Nexus源(无需修改配置文件)

直接在原有publish命令中增加--source参数指定你的Nexus NuGet源地址即可,多个源可以多次指定该参数,优先级按参数顺序从高到低:

dotnet publish <PROJECT>|<SOLUTION> --force -o <OUTPUT_DIRECTORY> \
--source https://<你的Nexus域名/IP>/repository/<你的私有NuGet源名称>/ \
--source https://api.nuget.org/v3/index.json # 可选,保留官方源作为兜底

如果你的Nexus源需要身份认证,可以在地址中嵌入账号密码(仅适合临时构建场景,注意信息安全):
https://<账号>:<密码>@<你的Nexus域名/IP>/repository/<你的私有NuGet源名称>/

场景2:持久化配置Nexus源(适合固定构建环境)

在项目根目录新增NuGet.config配置文件,写入以下内容,后续执行publish命令时会自动读取配置拉取Nexus依赖:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- 先清空默认源,避免拉到公共源的同版本包 -->
    <clear />
    <!-- 配置Nexus私有源,优先级最高 -->
    <add key="NexusPrivate" value="https://<你的Nexus域名/IP>/repository/<你的私有NuGet源名称>/" />
    <!-- 可选:配置官方NuGet源作为兜底 -->
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
  <!-- 如果Nexus源需要身份认证,添加该节点 -->
  <packageSourceCredentials>
    <NexusPrivate>
      <add key="Username" value="你的Nexus登录账号" />
      <add key="ClearTextPassword" value="你的Nexus登录密码" />
    </NexusPrivate>
  </packageSourceCredentials>
  <!-- 如果你用的是HTTP协议的Nexus源,需要添加该配置允许不安全连接 -->
  <packageSourceCredentials>
    <NexusPrivate>
      <add key="allowInsecureConnections" value="true" />
    </NexusPrivate>
  </packageSourceCredentials>
</configuration>

配置完成后直接执行原有publish命令即可:
dotnet publish <PROJECT>|<SOLUTION> --force -o <OUTPUT_DIRECTORY>

注意事项

  • 确保你需要调用的依赖包及对应版本已经成功推送至指定的Nexus NuGet源中
  • 若要强制跳过本地缓存直接从Nexus拉取最新依赖,可在publish命令中添加--no-cache参数
  • CI/CD环境中建议使用环境变量注入Nexus账号密码,不要硬编码在配置文件中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:36:10