1. 程式人生 > >手動搭建自己的nuget伺服器及使用

手動搭建自己的nuget伺服器及使用

這篇文章的主要目的:

1.搭建自己的私有的nuget伺服器

2.打包程式碼為nuget包

3.在其他專案中使用私有伺服器上的nuget包

一. 搭建自己的nuget伺服器

1. 建立一個空的ASP.NET Web 應用程式

2.使用nuget管理器,新增nuget.server包

安裝成功以後,目錄結構如下圖

3. 在專案上右鍵 生成網站 ,並執行

效果如下:

 

從圖中可以看出,錯誤原因:

web.config中有節點重複錯誤

4. 修改web.config中的錯誤節點:即刪除重複節點 compilation 

 

 刪除下面的compilation節點

5.重新編譯,生成網站,並執行

點選here

如上所示,則nuget伺服器搭建成功

然後,把專案釋出到 本地 IIS 伺服器上

附錄:

這裡附上 IIS 的釋出

(1). 右鍵專案,釋出

(2). 選擇資料夾,及設定釋出路徑

 

(3). 點選上個步驟中的釋出按鈕

如圖,釋出成功

(4). 在IIS中新增網站

(5). 可以做如下配置,點選確定

注意,點選確定後,確保應用程式池中相應的應用是4.0版本

即,把2.0的修改為4.0

(6). 瀏覽 http://localhost:8090/ 

 

點選,第一個here

如上,網站在IIS部署成功

二. 把程式碼打包為nuget包

1.右鍵點選解決方案,新增,新建專案

2. 如下圖,新增類庫

3. 右鍵ClassLibrary1類庫,點選生成

4. 進入專案所在資料夾,並把nuget.exe複製到該資料夾下

注意:nuget.exe下載路徑,在這

如上圖,並在該目錄進入cmd命令

 5. 在該目錄下,操作cmd命令

 回車後,生成如下則表示成功

同時,該資料夾下,多出一個 .nupkg 檔案

6.現在nuget包就已經打好了

但是,如果我們想在我們的私有nuget伺服器上有這個包,我們還需要把.nuget檔案傳到我們私有nuget伺服器上;

如果有需要,可以自己在nuget私有伺服器專案中新增一個上傳功能,這裡選擇簡單方式。

即直接把打包生成的.nuget檔案直接複製貼上到 nuget伺服器的 Packages 資料夾下,

這裡的路徑為:G:\Dot_NET\wwwroot\nugetserverdemo\Packages

 

得到上圖,

綜上,ClassLibrary1的nuget包就已經在我們的nuget伺服器上了。

訪問網站,點選第一個here,可以得到,如下:

 

三. 在其他專案中,使用我們私有nuget伺服器上的nuget包

 1. 右鍵解決方案,新增一個新的專案

選擇ASP.NET Web應用程式 ,專案名稱 NugetTest

選擇mvc

最後,點選確認

2. 進入nuget包管理器,配置程式包源

 如下,把本地nuget私有伺服器地址新增

3.選擇 private nuget.test 源,如下

 可以正常顯示nuget私有伺服器上的ClassLibrary1的nuget包,故這裡就算成功了。

四. 最後,這裡再說下,自己的一些嘗試結果

1. 在搭建nuget私有伺服器時,因為有nuget.server.core,所以,剛開始,有試過建立dotnet core 的版本,但是顯示的有部分不相容。所以,直接就放棄了,沒有試驗。

2. 還有就是中間,在搭建nuget私有伺服器時,有嘗試建立 以前老版本的ASP.NET 空網址,但是在引入nuget.server 3.x 版本以後,雖然,網站建立起來了,

 但是,點選網站的第一個here時,並不能正常訪問,所以,也失敗。

3 . 還有就是剛開始,在IIS上部署的時候,部署會報500的錯誤,也浪費了一些時間,之後我嘗試建的asp.net core webapi專案釋出到IIS後,也會報錯,

這裡只說下解決的辦法,因為本機環境dotnet core 2.2 版本,之前裝的runtime版本是2.1.6 ,在釋出到IIS以後,不知道什麼原因有500的錯誤;之後下載最近的hosting 2.2.5版本,IIS終於可以正常了。

 

注意:如果你的IIS在部署dotnet core專案時,出現問題,可以嘗試下載最新的 runtime 試試 能否解決 ,這裡給出