一、前言
對公司或者對個人來說,經過一段時間的沉淀之后,都會有一些框架或者模塊,為了對這些框架或者模塊進行更好的管理和維護,也為了方便后面的開發或者其他同事,我們可以在我們本地或者內網搭建一個Nuget服務器,當然也可以把相關的Package提交到Nuget官方上去,只是提交上之后,就相當于公開了,怎么提交到官方,可以去官方網站http://www.nuget.org/找相關的攻略,這里我們將講解怎么搭建一個Nuget私服,
二、搭建Nuget私服
先創建一個命名為“PFTNugetSystem”的空白解決方案,然后添加web站點(這里我們使用.NET Framework框架的web程式)

專案名稱我們命名為“PFT.NugetServer”,在下面的界面中,我們選擇“空”模板,然后HTTPS不勾選,備注:請一定選擇“空”模板

創建成功之后,如果下圖

使用Nuget工具添加“NuGet.Server”包,添加成功之后會自動生成如下檔案

打開Web.config
因為我們的框架是.NET Framework框架是4.7.2版本,所以注釋掉下面的4.6版本的compilation節點

在appSettings下面,主要的配置:requireApiKey,apiKey和packagesPath,他們都有注釋相信大家一看就知道

然后我們就可以對“PFT.NugetServer”直接發布,并發布到本地的IIS,發布成功之后瀏覽網站如圖所示:

三、NuGet程式包的制作和發布
可以利用開發用具“Visual Studio”和“NuGet Package Explorer”實作打包,
3.1、Visual Studio打包和發包教程
在解決方案“PFTNugetSystem”,創建一個“PFT.TestPackage”的類別庫,然后添加一個“PackageHelper.cs”,添加如下方法
public string GetPackageName(string name) { return $"名稱{name}"; }
然后打開專案“PFT.TestPackage”的屬性,選擇“打包”

根據實際情況填寫相關資訊,如果專案里面參考了其他的包,比如“Newtonsoft.Json”,它會自動生成依賴條件,
然后選擇“打包”

在輸入欄得到打包的地址,就可以得到包檔案“PFT.TestPackage.1.0.0.nupkg”,

下載NuGet Package Explorer工具,下載地址:https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/releases 
下載之后解壓運行“NuGetPackageExplorer.exe”檔案
選擇打開本地包
,選擇我們生成的包,
然后選擇file=》publish,發布成功之后,會提示“Package published successfully”

然后在Visual Studio工具=》選項=》Nuget包管理 添加本地決議路徑

打開管理解決方案的Nuget程式包,選擇本地程式包源

3.2、NuGet Package Explorer工具打包教程
打開NuGetPackageExplorer工具,然后選擇創建新包
將生成的dll檔案拖進“Package contents”中
,點擊左上角的第一個按鈕,編輯包資訊,這里為了與Visual Studio生成包有區別,這里我們將包的版本設定為1.0.2,描述改成“Nuget服務器測驗包(NuGetPackageExplorer)”

如果對其他的包有依賴關系,就在下面這個位置
添加依賴包,
點擊“Edit dependencies”,
選擇“Newtonsoft.Json”
,
依次點擊加號和ok
確定之后
發布如上
最后的效果

三、總結
經過上面的的程序,我們就可以在搭建的Nuget私服上面愉快的玩耍了,
在處理Nuget私服時,還要注意一個問題,就是Nuget.Config,路徑是%appdata%\NuGet\NuGet.Config,內容如下

NugetServer會區分版本,protocolVersion就表示的版本號,V3版本支持json格式,也就是前面地址展現的內容,V2版本支持xml格式,而我們搭建的是V2版本,主要是在自動化部署的時候,如果配置不正確,依賴包會還原失敗,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/16041.html
標籤:ASP.NET
上一篇:ORM之Dapper運用
