1. 程式人生 > >如何內網搭建NuGet伺服器

如何內網搭建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伺服器 的過程就介紹完了,,