如何內網搭建NuGet伺服器
如何內網搭建NuGet伺服器
NuGet 是.NET程式設計師熟知的工具,它可以直接安裝開源社群中的各個公用元件,可以說是非常方便。不過,有些時候,公司內部的公用的基礎類庫,各個專案都有引用,但又不能釋出到公共的NuGet伺服器上,所以我們需要自己架設一個私有服務,通過NuGet 來的各個專案中用到的公共元件進行管理。就非常的方便。也便於元件版本的管理。
一、NuGet網站構建
1. 建立一個空的ASNET網站
注意:將Framework 設定為4.6 以上,NuGet.Server庫 要求.net framework 的版本是4.6 。
2. 用NuGet為 NuGetServer 安裝“NuGet.Server”庫。
安裝成功後,你的Solution會變成這樣一個結構。並且不需要寫任何程式碼或更改任何配置,它已經可以運行了。執行此網站,如果看到下面的歡迎介面,就表示網站已經構建完成了。
注意:Packages裡只有一個readme.txt,這個目錄是用來放NuGet包的,點選 here 連線,可以檢視現有的包。
3. 部署網站
這也和部署任何一個ASP.NET網站完全一樣。這裡不細說。
二、把程式碼打包為NuGet包
1. 去Nuget官網下載nuget command line tool,
下載地址:https://www.nuget.org/downloads
2. 用Nuget打包
Nuget 有兩種打包方式:
A:直接通過工程檔案打包dll:
1 建立一個類庫,然後編譯下。把剛才下載的nuget.exe拷貝到工程檔案所在的資料夾中:
2. 通過命令列來建立nuget包:nuget.exe pack
B:使用nuget的spec檔案進行打包,。
1. 同樣把要打包的DLL跟NuGet.exe放在一個目錄下,用nuget spec命令建立一個nuspec檔案:
2. 開啟Package.nuspec檔案,可自定義一些配置,。
注意:$description$
使用AssemblyDescriptionAttribute
的值進行替換,在產生package之前,一定要記得先編譯專案,否則會提示$description$
找不到的錯誤;
3. 用 NuGet pack打包成Nuget包:
至此打包完畢。
三、 把NuGet包上傳到伺服器
將打包好的.nupkg 檔案 拷貝到 第一步中架好的Nuget伺服器 的Package目錄下。可以Nuget 服務中自己寫一個檔案上傳的功能,來降低拷貝的麻煩。
四、配置Visual Studio
Nuget 服務已經架設成功,接下來就要在VS裡配置NuGet 源,讓其他的專案可以使用我們的NuGet伺服器。
選擇工具-》Nuget包管理器-》程式包管理控制檯,點選 配置圖示:
新增,設定本地的NuGet源名字和地址即可。注意:source 最後是 /nuget
完成後,我們的VS就可以從私服上安裝NuGet包了。
五、在其他專案中使用
到目前為止NuGet伺服器端已經配置完成,類庫和DLL檔案的打包也介紹完畢, 接下來我們該如何在專案中引用內網NuGet 伺服器中的包呢,步驟如下:
1、 新建一個NuGetTest 專案,然後 工具-》Nuget包管理器-》程式包管理控制檯 ,在命令列:install-package IKSDK
2、最後看看效果啦:
至此,內網搭建NuGet伺服器 的過程就介紹完了,,