Nuget(BagGet)使用教程
1. 服務器安裝ASP.NET Core
網上有很多教程,不多講,鏈接給你:https://www.cnblogs.com/Agui520/p/8331499.html
只需要安裝SDK和Runtime即可,安裝成功在命令視窗界面輸入命令“dotnet -v”便可看到下面內容,

2. 部署BagGet環境
接著我們就部署環境了,服務器當然要裝IIS,這就不會廢話了,
安裝教程:
server2008:https://www.cnblogs.com/luckly-hf/p/4073657.html
server2012:https://jingyan.baidu.com/article/90895e0ffb5c1764ec6b0bbb.html
正題:
- 添加應用程式池(BagGet是Core,所以應用程式池的托管模式為“無托管代碼”)

- 添加網站(Core的默認埠為5000,所以我們這邊埠設定為5000,防火墻若是開啟狀態,請開放5000埠)

- 運行網站
網站添加完畢,瀏覽“http://localhost:5000/”或者“http://IP:5000/”,便可以看到以下畫面,BetGet就算是安裝完成了,

3. 上傳包
上傳包我們使用官方的上傳工具 下載地址:https://github.com/NuGetPackageExplorer/NuGetPackageExplorer
-
上傳描述
-
我們下載下來打來軟體,"Ctrl+N"創建新包

-
接著我們就是看到如下,需要我們填下包的描述


我們來看下這些包描述
必填(前面四項)-
id:不區分大小寫的包識別符號,在 nuget.org 或包駐留的任意庫中必須是唯一的, ID 不得包含空格或對 URL 無效的字符,通常遵循 .NET 命名空間規則,
-
version:遵循 major.minor.patch 模式的包版本, 版本號可能包括預發布后綴,如包版本控制中所述,

-
description:用于 UI 顯示的包的詳細說明,
-
authors:作者,
-
title:明了易用的包標題,通常用在 UI 顯示中,如 nuget.org 上和 Visual Studio 中包管理器上的那樣, 如果未指定,則使用包 ID,
-
owners :包擁有者,使用 nuget.org 上的組態檔名稱的包創建者的逗號分隔串列,
-
projectUrl:包的主頁 URL,通常顯示在 UI 中以及 nuget.org 中,
-
licenseUrl:許可證Url,
-
iconUrl: 64x64 透明背景影像的 URL,用作 UI 顯示中包的圖示, 請確保此元素包含直接影像 URL,而不是包含影像的網頁的 URL,
-
requireLicenseAcceptance: 一個布林值,用于指定客戶端是否必須提示使用者接受包許可證后才可安裝包,
-
developmentDependency:一個布林值,用于指定包是否被標記為僅開發依賴項,從而防止包作為依賴項包含到其他包中,
-
summary 用于 UI 顯示的包的簡要說明, 如果省略,則使用 description 的截斷版本,
-
releaseNotes: 此版本包中所作更改的說明,通常代替包說明用在 UI 中,如 Visual Studio 包管理器的“更新”選項卡,
-
copyright:包的著作權詳細資訊,
-
language:包的區域設定 ID,
-
tags:以空格分隔的標記和關鍵字串列,描述包并通過搜索和篩選輔助包的可發現性,
-
serviceable: 可維護性,僅限內部使用,
-
minClientVersion: 指定可安裝此包的最低 NuGet 客戶端版本,并由 nuget.exe 和 Visual Studio 程式包管理器強制實施,
-
dependencies:零個或多個
元素的集合,用來指定包的依賴項, 每個 dependency 都具有 id、version、include (3.x+) 和 exclude (3.x+) 特性,(點擊進去可看到下圖,再點擊下圖紅框進入下下圖,可根據包源地址進行篩選)


-
frameworkAssemblies : 零個或多個 <frameworkassembly> 元素的集合,用來標識此包要求的 .NET Framework 程式集參考,從而確保參考添加到使用該包的專案,
-
目前經常用的差不多這些 填寫完畢就可以看到下面內容


-
-
添加要上傳的內容
在工具的右邊右擊就可以添加給各類東西

- build:輸出到bin目錄
- content:原樣拷貝
- lib:添加參考
- src:原始碼拷貝
- tools:工具?

ps:上圖可以看下lib的參考的dll資訊,這些資訊可在vs里面進行設定,包括強簽名等,

-
上傳流程
全部作業準備好了,選擇選單“File”,
save,savsAs是保存到本地,我們選擇publish,
ps:上傳需要注冊,并拿到key,注冊教程(這篇文章內容只關注如何獲取key):https://blog.csdn.net/wangwenru6688/article/details/50276405
上傳成功后,我們就可以在我們BagGet的web看到我們上傳好的包了,
這樣,我們就將nuget包上傳到我們自己的服務器了,(同個包不同版本的id應該是一樣的)

4. 專案參考包
接下來,我們要怎么去參考這樣些nuget包呢?
-
首先要先添加我們自己服務器的nuget包源,
工具=>選項=>nuget包管理器=>程式包源=>新增一條(http://192.168.101.188:5000/v3/index.json)=>點擊更新

-
選中要參考包的專案(類別庫)進入nuget包管理器(怎么進的,就不解釋了,自己百度去),就可以看到我們上傳的包,按照平常那樣參考或者更新就可以了,(**當然你熟悉參考命令也可以直接用命令參考(原本命令與core命令都可以用),具體就不解釋了,附上教程:https://www.cnblogs.com/zhaogaojian/p/8398531.html)

-
我們看下我們參考的包會在哪?
-
首先dll肯定在參考里面了

-
作為content原樣復制,它是在根目錄了

-
其他的我發現都在我們專案目錄底下的“packages”的相對應的目錄底下


-
5. 洗掉包
ps:若是我們上傳同樣的包或是怎么樣的呢?這邊會報409的狀態例外的錯誤包,上傳工具并不會提醒你上傳失敗,或者已有此包,

所以我們若是要重新上傳或更新已有的版本,或者上傳錯誤,想要洗掉肯定要洗掉我們已經上傳的包,但是我發現大佬只做了介面,并沒有集成在頁面,頁面是用來node.js和React,表示是個前端渣,但不懂,不懂得修改,所以就自己做了個winform來洗掉包源,
但是要注意下,這邊大佬是分軟洗掉和硬洗掉的,軟洗掉只是網頁看不見了,但其實你知道包id還是同樣可以參考,更坑的是,軟洗掉,nuget管理器還是可以看到你的包,硬洗掉就是大家所理解的將包真的洗掉掉了,
那么如何開啟呢,BagGet采用的是Core,所以配置項并不是在Web.config中,而是appsettings.json,只需要在配置加上這句話,就成了硬洗掉了,若是要軟洗掉,就去掉這句話,
"PackageDeletionBehavior":"HardDelete" ,
那附上我自己寫的洗掉winform吧,
鏈接: https://pan.baidu.com/s/1bLQ_GTh92wr0Vt9z7JhsPQ 提取碼:
db69
截圖:
-
先填好BagGet的服務器,只需要修改ip即可,再填好NuGetKey,當然你要是想保存在程式里,可以選擇保存

-
接著重繪,下面的樹就會重繪出來,你的nuget服務器上的程式包,以及版本

-
選中版本,選中包的資訊與要洗掉的版本就會出現右邊,然后點擊洗掉就可以了,


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/219398.html
標籤:其他
上一篇:02_Docker在CentOS 6和CentOS 7下的安裝
下一篇:軟體開發模型

