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

替代nuget install的dotnet命令是什么?如何指定配置文件?

替代nuget install的两种方案

方案一:使用dotnet nuget download(推荐,无需项目文件)

从.NET SDK 6.0开始,官方提供了dotnet nuget download命令,直接对应nuget install的核心功能,完全不需要依赖.csproj文件:

  • 基础用法(指定配置文件和输出目录):
    dotnet nuget download <PackageId> --version <PackageVersion> --configfile <path-to-NuGet.Config> --output ./packages
    
  • 批量下载多个包:
    dotnet nuget download PackageA PackageB --version 1.0.0 --configfile ./NuGet.Config --output ./packages
    
  • 仅下载主包(跳过依赖):添加--no-dependencies参数即可。

方案二:临时项目配合dotnet add package/dotnet restore

如果你的环境只能使用低于6.0的.NET SDK,可以用临时项目的方式模拟nuget install:

  1. 创建临时类库项目:
    dotnet new classlib -n TempRestoreProject -o TempRestoreProject
    cd TempRestoreProject
    
  2. 添加目标包并指定配置文件:
    dotnet add package <PackageId> --version <PackageVersion> --configfile ../path/to/your/NuGet.Config
    
  3. (可选)指定包下载目录:
    编辑TempRestoreProject.csproj,添加RestorePackagesPath属性,将包下载到指定路径(比如上级目录的packages文件夹):
    <PropertyGroup>
      <RestorePackagesPath>../packages</RestorePackagesPath>
    </PropertyGroup>
    
  4. 执行依赖恢复:
    dotnet restore --configfile ../path/to/your/NuGet.Config
    
  5. 清理临时项目:恢复完成后直接删除临时项目目录即可。

NuGet.Config不生效的排查要点

如果项目根目录的NuGet.Config未被识别,检查以下几点:

  • 确认配置文件格式正确,示例结构:
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <add key="YourPrivateFeed" value="https://your-private-feed-url/v3/index.json" />
      </packageSources>
    </configuration>
    
  • 执行命令时,要么确保当前工作目录是项目目录,要么通过--configfile参数明确指定配置文件路径(该参数优先级最高)
  • 用dotnet nuget list source命令查看当前生效的源列表,排查是否有用户级/系统级配置文件覆盖了项目目录的配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:07:39