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

如何在dotnet restore命令中同时配置本地与NuGet服务器源?

解决dotnet restore同时配置本地与远程NuGet源的问题

我懂你遇到的坑——在TeamCity里执行dotnet restore时,直接把两个源用空格丢给--source参数,结果远程源被当成本地路径拼接了,这是因为每个源都需要单独用--source(或缩写-s)参数声明,不能把多个源堆在同一个--source后面。

正确的单命令写法

给每个源都加一次--source参数就搞定了,比如:

dotnet restore --source ./LocalFolder --source https://api.nuget.org/v3/index.json

这里有两个细节要注意:

  • 本地文件夹如果用相对路径,要确保TeamCity的构建工作目录是项目根目录;不确定的话,直接用绝对路径(比如C:\BuildAgent\work\xxx\LocalFolder)更稳妥
  • 官方NuGet源建议用完整的v3地址https://api.nuget.org/v3/index.json,比短地址兼容性更好

为什么之前的写法会出错?

当你只写一次--source然后跟两个值时,dotnet restore会把第二个值当成第一个源路径的子目录来解析,所以才会出现C:\BuildAgent\work\https://api.nuget.org/这种离谱的拼接路径——它把远程URL当成本地文件夹名处理了。

额外优化方案(可选)

如果不想每次都写一堆参数,也可以在项目根目录放一个NuGet.config文件,预先配置好两个源:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="LocalSource" value="./LocalFolder" />
    <add key="NuGetOfficial" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>

之后在TeamCity里直接执行dotnet restore就行,它会自动读取这个配置文件里的源,命令更简洁,也不容易出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:17:49