1. 程式人生 > >Nuget私有服務搭建實戰

Nuget私有服務搭建實戰

web項目 每次 問題 ref 版本 -c .com www. pack

最近更新了Nuget私有服務器的版本,之前是2.8.5,現在是2.11.3。

Nuget服務器的搭建,這裏有篇很詳細的文章,跟著弄就好了:

https://docs.microsoft.com/en-us/nuget/hosting-packages/nuget-server

不過我在做的過程出現了個令我非常困惑的問題:程序按部就班做好我就扔到IIS上,但一直提示404,但以前一直是好的,且這個問題基本上Google不到相關信息。經過一番倒騰排錯之後我郁悶的發現錯誤的原因在於我的項目名稱起了一個跟Nuget.Server的包一樣的名字,也叫“Nuget.Server”,這樣我的Web項目生成的dll會覆蓋掉Nuget.Server.dll,這真是個小概率低級錯誤……但卻浪費了我不少時間。


部署好之後上述文章還提到了一個值得關註的地方,那就是nuget包的存放目錄,應該轉換為新的格式,這樣能大幅度提高nuget包獲取和瀏覽的性能,具體資料:

https://blog.nuget.org/20151118/nuget-3.3.html#folder-based-repository-commands

按部就班做就行了,如果服務器上沒有nuget.exe的話,可以在這裏下載到:https://www.nuget.org/,我是直接把nuget.exe放到system32目錄下了。

這麽一來我也感覺到列nuget包的時間顯著提高了,但如何把新生成的nuget包放進去呢?上面的文檔提供的方法是:

nuget add my.nupkg -Source c:\shared\nuget_repo

但每次都敲命令行麻煩,如果有多個包要add的話那更麻煩,作為一名技術人員,看到什麽不爽的地方當然是要想辦法改進,因此我做了一個add-to-repo.bat的批處理文件:

for %%i in (*.nupkg) do nuget add %%i -Source c:\shared\nuget_repo
pause

不管目錄下有幾個待增加的nupkg文件,不管它們叫啥名字,只需要雙擊執行一下這個腳本即可。

Nuget私有服務搭建實戰