日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用ProGet搭建本地私有NuGet仓库

發布時間:2023/12/4 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用ProGet搭建本地私有NuGet仓库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

搭建ProGet

下載

官網下載Windows版本的Inedo Hub (https://inedo.com/proget/download)
下載下來的軟件名: ProGetInstaller.exe

安裝

點擊ProGetInstaller.exe,出現如下安裝界面

Registration 選項選擇 Free ;
SQL Sever 選項選擇 Specify instance,添加Connection string:

Copy

data source=192.168.195.129;user id=sa;password=yourStrong(!)Password;MultipleActiveResultSets=True;

Database Name選項默認的數據庫名稱是ProGet(可以新建一個空庫也可以不建,安裝時,如果沒有對應數據庫,程序會自動創建數據庫)
Hosting 選項默認選擇 Intergrated Web Server ,就是以服務的方式安裝。

添加成功后,SQL Server選項會顯示選中剛剛新加的服務器IP地址

點擊安裝后,輸入名稱和郵件地址來獲取到免費的key。

安裝成功后的IndeoHub界面

在Services里面可以看到有兩個服務正在運行,ProGet的服務和其Web服務。

通過Windows的任務管理器里的服務也可以看到這兩個服務。

InedoHub的Configuration界面是ProGet的相關配置信息,包括數據庫鏈接字符串,Key,以及ProGet的網站端口號。

本機IP為192.168.1.48,所以訪問?http://192.168.1.48:8624?,出現如下界面說明ProGet安裝成功。

配置

點擊網站的頭像部分,然后點擊登錄

網站的管理員賬號及初始密碼是Admin/Admin。

登錄管理員賬號后,設置Task

給匿名用戶添加?Publish Packages?(發包)權限。

添加Connectors,添加NuGet官方配置

新增Feed,選擇第三方包NuGet,Feed 名稱為ZeroGet。

新建成功

進入ZeroGet,我們會發現沒有任何包,點擊?Manage Feed?按鈕,進入該Feed的管理界面,在Feed Connectors?項目里面,點擊?add connector?按鈕,選擇先前新建的名叫Nuget的Connector。

再次進入ZeroGet的Feed界面,結果如下,我們把NuGet官網的包信息也同步過來了!

上傳程序集

下載NuGet

NuGet官網下載地址?https://www.nuget.org/downloads
將下載好的nuget.exe放在特定的位置,例子的路徑是 D:\Program Files (x86)\NuGet\nuget.exe

設置環境變量

如下圖,編輯環境變量Path,新增nuget.exe的所在文件夾路徑,這樣cmd命令行就可以直接使用nuget命令進行相關的打包操作了

項目打包

修改項目程序集信息

這里介紹的是簡單的通過修改項目的AssemblyInfo.cs文件來修改程序集的發布信息。

打開AssemblyInfo.cs文件,一般是修改如下內容就夠了

Copy

[assembly: AssemblyDescription("這是描述的信息")]
[assembly: AssemblyCompany("Zero")]
[assembly: AssemblyCopyright("Copyright ? 2019")]
[assembly: AssemblyVersion("1.0.1")]
[assembly: AssemblyFileVersion("1.0.1")]

項目打包

在打包之前,先編譯生成一遍項目。
運行cmd命令行,進入到要打包的項目的.csproj文件所在目錄下,運行如下命令

Copy

nuget pack -Build -Properties Configuration=Release

結果如下,成功生成Zero.Test.1.0.1.nupkg文件

上傳到本地倉庫

在本地的ProGet網站的對應ZeroGet的Feed里面有添加包的 Add Package 按鈕,點擊后,提升如下四種添加方式,我們是通過NuGet的命令行來進行添加的,點擊對應選項。

點擊通過NuGet的命令行來進行添加的對應選項后,彈出如下提示內容。

上面命令腳本如下,[API key]的選項是可選的,可以不填。

Copy

NuGet.exe push <package path> [API key] -Source http:

承接上面的具體操作,在成功生成nupkg文件后,運行下面的腳本

Copy

nuget push Zero.Test.1.0.1.nupkg -Source http:

結果如下圖:

瀏覽器訪問本地ProGet,顯示信息如下

進入ZeroGet的Feed里面,我們可以看到剛剛本地新上傳的程序集是置頂顯示的。

點擊測試的程序集,查看程序集具體信息,作者信息,描述信息,版本信息都是我們程序里面編輯的。

查看程序集依賴和項目比較,也是一樣的。



OK,打包并上傳成功,下面就是要本地項目使用剛剛的程序集了。

下載使用程序集

獲取包源

在ZeroGet的Feed頁面,顯示有API endpoint URL:http://192.168.1.48:8624/nuget/ZeroGet/,
該路徑就是ZeroGet的包源路徑。

添加包源

打開VS,工具》NuGet包管理器》程序包管理器設置

點擊NuGet包管理器下的程序包源,點擊新增按鈕,新增ZeroGet本地包源,如下圖。

使用包源

在項目下,右擊打開“管理NuGet程序包”,將程序抱怨切換到ZeroGet,如下圖所示,我們就可以看到我們剛剛上傳到本地庫的程序集信息了。

點擊安裝后,自動安裝該程序集以及它的依賴項。如下圖。

驗證程序引用正常

下圖是Zero.Test項目代碼,簡單的將對象轉換成字符串類型。

下圖是在控制臺項目,用NuGet應用程序集Zero.Test后,調用Zero.Test.Convertor.GetObjString方法的執行結果,說明Zero.Test該程序集正常工作,引用正常。

參考

  • https://docs.microsoft.com/zh-cn/nuget/tools/cli-ref-pack

  • https://docs.microsoft.com/zh-cn/nuget/reference/msbuild-targets

  • https://docs.microsoft.com/en-us/dotnet/core/tools/csproj#nuget-metadata-properties

  • https://www.jianshu.com/p/429cce1323e2

  • https://www.cnblogs.com/lovecsharp094/p/5527204.html

原文地址:https://www.cnblogs.com/zerodai/p/10796535.html

.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結

以上是生活随笔為你收集整理的用ProGet搭建本地私有NuGet仓库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。