Visual Studio将NuGet包编到本地使其可以离线使用
前日遇到一个问题,我在本地的wpf小工具,编译后拿去断网的设备使用时无法打开,源代码数传过去之后显示NuGet包找不到。
原则上解决方案是让目标设备也安装package,但设备不能联网,而且这样也太繁琐不方便调试。
解决:
-
在.sln目录创建文件夹/packages,把NuGet包拷贝进来;
可以打开工程后,在依赖项-包,右键“在资源管理器中打开文件夹”; -
在.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中引用。

浙公网安备 33010602011771号