问题背景
在项目上会有一种情况是,现场服务器没有网络,导致代码所依赖的包无法下载,代码无法在项目上跑起来。
本文提供一种把自己电脑的包复制到服务器上的方法,这样服务器没有网,也可以跑程序。
解决前提
自己电脑有网并且下载好包了,此包所依赖的其他包也下载好了。
假设服务器没有网,需要把自己电脑上的包复制到服务器上使用。
解决步骤
1.首先在自己电脑找到需要的包,可以在VS找到依赖项-》包-》对应包右键属性,复制包的路径,用 skiasharp这个包 做例子
还有一种下载nuget.exe 文件,然后用这个应用下载包这种方法没有试过,参考这个链接
在文件管理器中,粘贴路径,找到对应的包
这个地方有个坑,skiasharp包还需要其他两个包,所以复制的时候需要把另外的两个包都copy到服务器,有时候版本不同,所依赖的其他包也不同。
2.复制到服务器的对应包的文件夹里.
C:\Users\Administrator.nuget\packages
3.修改服务器中的包管理设置。
Tools——》Nuget Package Manager——》Package Manager Setting
选择NuGet Package Manage——》Package Sources ——》点击加号 ——》把服务器包的路劲复制上——》把nuget.org 这个勾给去掉(一会儿搜索本地包可能会报错)
4.1查看本地包并且安装
Tools——》Nuget Package Manager——》Manage NuGet Packages for Soulution
点击Browse
选择项目,点击Install
点击Ok
点击I Accept
此时已经添加上了,服务器上也有这个包了。
4.2或者在项目文件里添加。
结束语
此时没有网络的服务器也有这个包了,项目也可以重新生成了。