因爲使用的一臺電腦沒有聯網,可是須要asp.net core項目時使用到一個package,因而在nuget.org上手動下載。可是最後發現,依賴的包實在太多,手動下載太費時。因而晚上花時間研究了一下這個問題,隨筆記錄一下,做爲我的分享。html
解決這個問題,分爲兩個步驟:python
- 利用nuget.exe在可聯網的機器上下載須要安裝的程序包。
- 將程序包拷貝到不聯網機器,使用本地包源安裝程序包。
步驟二能夠參考個人這個帖子(https://www.cnblogs.com/sper/p/5697441.html)難點主要在第一步,具體方法以下:asp.net
(1)下載nuget命令行程序nuget.exespa
打開https://www.nuget.org/downloads,下載Windows x86 Commandline程序。這是解決手動下載依賴包弊端的根本解決方法。.net
(2)下載須要使用的程序包。命令行
運行cmd打開命令提示符窗口,執行> nuget install <package_name> -SolutionDirectory <save_path> -PackageSaveMode nupkgcode
根據本身的實際狀況,分別替換<package_name>和<save_path>。若是須要下載指定的包版本,經過 -Version 選項來指定包的版本。htm
下載的程序包以及全部的依賴包將會存儲在<save_path>目錄的packages文件夾下。blog
(3)拷貝下載的nupkg數據包。get
爲了減小拷貝文件的大小,咱們只須要.nupkg格式的文件。此時,經過一段python程序來集中這些程序包的nupkg文件。代碼以下:
import os for pkg in os.listdir("packages"): pkgpath = os.path.join("packages", pkg) filename = "%s.nupkg" % pkg fullpath = os.path.join(pkgpath, filename) if os.path.isfile(fullpath): open(filename, "wb").write(open(fullpath, "rb").read()) else: print("%s is not exist." % filename) else: print("Copy finished.")
將Python文件放在<save_path>目錄下並執行,本來packages下近300M的文件,如今只須要拷貝38M的.nupkg文件便可。