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

如何为Install-Package指定本地SMB共享源以安装自定义类库?

解决局域网SMB共享NuGet源优先安装自定义包的问题

方法1:调整NuGet源优先级

VS的NuGet源列表是从上到下匹配优先级的,把你的SMB共享源(比如命名为Local)移到nuget.org上方:

  • 打开VS「工具」→「选项」→「NuGet包管理器」→「包源」
  • 选中Local源,点击向上箭头移至nuget.org之前
  • 保存设置后重新执行Install-Package ClassLibrary1,NuGet会优先从本地源查找包

方法2:强制指定源并屏蔽其他源

如果优先级调整无效,可在安装命令中明确仅使用SMB共享源:

Install-Package ClassLibrary1 -Source \\my\share\nuget -SkipNonexistentSources

也可以通过项目根目录的NuGet.config临时禁用nuget.org:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="Local" value="\\my\share\nuget" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" disabled="true" />
  </packageSources>
</configuration>

安装完成后,将nuget.org的disabled属性改回false即可。

方法3:指定自定义包版本

如果你的ClassLibrary1版本号低于nuget.org上的同名包,NuGet默认会拉取最新版本。可直接指定版本安装:

Install-Package ClassLibrary1 -Version 1.0.0 -Source \\my\share\nuget

也可以提升自定义包的版本号,确保高于公共源的版本。

方法4:清除NuGet缓存

缓存异常可能导致源识别错误,清除后重试:

  • VS界面操作:「工具」→「NuGet包管理器」→「管理解决方案的NuGet包」→ 右上角设置图标→「清除所有NuGet缓存」
  • 命令行操作:
nuget locals all -clear

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:30:45