- 取得連結
- 以電子郵件傳送
- 其他應用程式
Nuget Server 架設完成後,接下來將既有 Nuget Package 透過 Nuget 工具上傳到 Nuget Server。
前一篇文章:架設私有 Nuget Server
文章將使用命令提示字元的方式將既有的 Newtonsoft.Json 套件上傳到自行架設的 Nuget Server。
Nuget Server 資訊
作業系統 | Windows Server 2016 Standard |
IP位址 | 192.168.0.95 |
繫結網址 | nuget.txstudio.tw |
ApiKey | txstudio |
PackagesPath | ~/Packages |
取得 Newtonsoft.Json 套件
前往 Newtonsoft.Json 套件在 Nuget 網站的網頁。
![json net in nuget](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/browse-json-net-nuget-site.gif)
在 Info 內容中點選「Manual download」手動下載套件檔案。
![download nuget package](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/manual-download-nuget-package.gif)
![save json.net package file](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/save-package.gif)
Nuget 套件檔案副檔名為 (*.nupkg),待會會將此檔案上傳到自行架設的 Nuget Server。
![json.net nupkg file](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/json-net-nupkg-file.gif)
下載 Nuget 工具
從 Nuget 網站中下載 Nuget 工具,此工具在「命令提示模式」操作。
![browse nuget download site](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/nuget-website.gif)
選擇 Windows x86 Commandline 的 v4.3.0 版本。
![download nuget commandline application](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/download-nuget-commandline-application.gif)
將下載的 nuget.exe 檔案放到指定路徑中,此情境與 Newtonsoft.Json 套件放在相同資料夾路徑下。
![nuget applicaiton name](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/nuget-applicaiton-file-info.gif)
將套件上傳到自行架設的 Nuget Server
先前步驟將 Nuget Server 網站繫結指定網址,在用戶端電腦設定 host 檔案。
![host configuration in client](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/host-file-configuration.gif)
Nuget Server 儲存套件資料夾沒有任何套件存在。
![package folder content in nuget server](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/package-folder-content-in-nuget-server.gif)
開啟命令提示字元並檢視 nuget 工具資訊。
nuget.exe help
![diplay nuget tool info](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/display-nuget-tool-info.gif)
使用 nuget add 指令將 Newtonsoft.Json 套件上傳到 Nuget Server。
「txstudio」為設定於 Nuget.Server web.config 檔的 apikey
nuget.exe push newtonsoft.json.10.0.3.nupkg txstudio -src http://nuget.txstudio.tw
![publish json.net package to nuget.server](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/publish-json-net-package-to-nuget-server.gif)
上傳成功後,在 Nuget Server 套件資料夾中就會出現 Newtonsoft.Json 套件資料夾。
![json.net folder in package folder](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/json-net-folder-created-in-package-folder.gif)
請確認 Nuget Server 儲存套件的資料夾權限,必須要有寫入權限。
若儲存套件資料夾沒有寫入權限的話會回傳 500 錯誤。
![return 500 error if permission deny](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/return-error-when-package-folder-permission-deny.gif)
儲存套件資料夾設定之權限:
![package folder permission](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/package-folder-require-permission.gif)
設定 Visual Studio 套件管理員
套件上傳完成後要來變更 Visual Studio 套件參考指向自行架設的 Nuget Server。
在「工具」「NuGet 封裝管理員」開啟「套件管理員設定」。
![nuget manager configuration](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/nuget-manager-configuration.gif)
在「套件來源」點選「新增」。
![create nuget package source](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/create-nuget-source.gif)
變更新增的套件名稱與來源路徑。
![select new package source](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/select-new-package-source.gif)
設定完成後點選「更新」按鈕,點選「確定」關閉設定。
![config package source](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/config-new-package-source-name-and-path.gif)
新增一個主控台應用程式專案,並開啟「管理 Nuget 套件」視窗。切換「套件來源」為剛剛新增的「套件來源」。
![change nuget source in manager nuget package](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/change-nuget-source-in-manager-nuget-package.gif)
在瀏覽頁簽中可以檢視到剛剛手動新增的 Newtonsoft.Json 套件。
![get newtonsoft.json package](https://raw.githubusercontent.com/txstudio/blogspot-image/master/nuget/upload-package-to-nuget-server/newtonsoft-json-package-in-browse-tab.gif)
成功將既有套件新增到自行架設的 Nuget Server。
留言
張貼留言