无需创建csproj文件,能否通过命令行下载指定NuGet包?
如何无需csproj直接用NuGet CLI下载包到指定路径
当然可以!完全不用依赖csproj文件,直接用NuGet CLI就能实现「指定包下载到目标路径」的需求,而且刚好能复用你已经配置好ADO令牌的源,不用额外管理凭据。
核心命令用nuget install就行,搭配几个参数就能精准满足你的要求:
nuget install [你的包ID] -OutputDirectory [目标路径] -Source [你的ADO源名称或URL]
参数解释:
[你的包ID]:替换成你要下载的NuGet包的具体ID,比如Newtonsoft.Json或者你项目里用的私有包ID-OutputDirectory:指定包下载后存放的路径,绝对路径(比如D:\temp\packages)或相对路径(比如./downloaded-packages)都支持-Source:如果你的ADO源已经配置了自定义名称,直接填名称就行;如果没配置名称,直接填源的URL——因为你已经提前配置了令牌凭据,NuGet会自动调用这些已存的凭据,不用再手动输入
额外实用参数:
- 如果你需要下载特定版本的包,加上
-Version [版本号]参数:nuget install Newtonsoft.Json -Version 13.0.3 -OutputDirectory ./packages -Source MyADOSource - 加上
-ExcludeVersion参数后,下载的包文件夹会直接用包ID命名(不带版本号后缀),方便你后续直接引用里面的内容:nuget install Newtonsoft.Json -OutputDirectory ./packages -Source MyADOSource -ExcludeVersion
小提示:
- 不确定已配置的源名称?可以运行
nuget sources list命令查看所有已配置的源,找到对应的ADO源条目 - 确保你的NuGet CLI是较新的稳定版,旧版本可能对部分参数支持不完善
- 在流水线中使用时,只要代理机器上已经安装了NuGet CLI,并且提前配置好了带ADO令牌的源,直接运行上述命令即可,完全不需要涉及任何csproj文件
内容的提问来源于stack exchange,提问作者FBryant87
相关产品推荐
相关产品推荐

