Visual Studio将NuGet包编到本地使其可以离线使用

前日遇到一个问题,我在本地的wpf小工具,编译后拿去断网的设备使用时无法打开,源代码数传过去之后显示NuGet包找不到。
原则上解决方案是让目标设备也安装package,但设备不能联网,而且这样也太繁琐不方便调试。

解决:

  1. 在.sln目录创建文件夹/packages,把NuGet包拷贝进来
    可以打开工程后,在依赖项-包,右键“在资源管理器中打开文件夹”;

  2. 在.sln目录创建NuGet.Config文件,使用以下代码

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!-- 只使用本地 packages 文件夹,断网专用 -->
  <packageSources>
    <add key="LocalPackages" value=".\packages" />
  </packageSources>
  <!-- 所有包都下载到 解决方案同级的 packages 文件夹 -->
  <config>
    <add key="repositoryPath" value=".\packages" />
    <add key="globalPackagesFolder" value=".\packages" />
  </config>
  <!-- 禁用联网 -->
  <disabledPackageSources>
    <add key="nuget.org" value="true" />
  </disabledPackageSources>
</configuration>

重新打开一次,再查看依赖项,NuGet包已经从./packages/xxx中引用。

posted @ 2026-08-20 18:49  InkDie  阅读(2)  评论(0)    收藏  举报