VS离线安装NuGet包及依赖项

一、前言

        有些nuget包有着乱七八糟的依赖项,在离线安装的时候用.nupkg有时会出问题。本文使用nuget.exe来下载NuGet连同依赖项,u盘拷贝到离线环境安装后即可使用。

        本文以离线安装Costura.Fody为例,它是相当通用的NuGet扩展,用于将C#项目打包成单独的可执行文件。

 二、安装过程

1.下载nuget.exe

        打开NuGet官网,找到下载页面:NuGet Gallery | Downloads

         左侧下载最新版exe,放到随便一个文件夹(我放的桌面)。

2.命令行进入nuget.exe所在文件夹

        输入nuget,弹出命令行提示则成功。

 3、下载离线包

        下载Costura.Fody的离线包命令如下(其他包也是一样的格式):

nuget install Costura.Fody -SolutionDirectory C:\Users\RyohgiS\Desktop -PackageSaveMode nupkg

        可以更改包名和路径名以下载自己想要的包在指定的路径。程序会在路径下新建一个packages文件夹来存放离线包。

        安装完毕后,打开packages文件夹,发现已经有了一大堆东西,这都是Costura.Fody和其依赖项,可能有用不上的,但一定不会少。

 4.安装

        U盘拷贝packages文件夹到离线环境,记住路径,打开VS进入项目,点击上方导航条中的工具->NuGet包管理器->程序包管理器设置。

        在出来的二级菜单的左侧找到程序包源,点击右上绿色加号,添加packages文件夹到你的VS包源中,该目录将会一直作为你的VS包源,之后的离线包都可以放在之前的packages文件夹以免重复操作。

         然后进入到项目依赖项,管理NuGet程序包,离线环境下默认什么都不显示。右上角更改程序包源至PacKage Source(上一步默认的名字,可自行修改)。

 

        可以看到我们之前下载的Costura.Fody和乱七八糟的依赖项,如果不显示可以点上面“已安装”再点回“浏览”刷新一下列表。

             像有网络时一样点击安装即可。

三、疑难问题

1.控制台显示“正在尝试收集XXX的项目......”

        卡住不动,很明显VS还在联网搜索包。这时候在程序包源右边的设置中把nuget.org去掉再重新安装即可。

参考资料:NUGET 包下载及离线安装方法 - 知乎 (zhihu.com)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值