這篇文章的主要目的:
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 試試 能否解決 ,這里給出 地址