Nuget(BagGet)使用教程

来源:https://www.cnblogs.com/xuhuale/archive/2018/12/03/10056403.html
-Advertisement-
Play Games

Nuget( "BagGet" )使用教程 1. 伺服器安裝ASP.NET Core 網上有很多教程,不多講,鏈接給你: "https://www.cnblogs.com/Agui520/p/8331499.html" 只需要安裝SDK和Runtime即可。安裝成功在命令視窗界面輸入命令“dotne ...


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埠)

3. 上傳包

上傳包我們使用官方的上傳工具 下載地址:https://github.com/NuGetPackageExplorer/NuGetPackageExplorer

  • 上傳描述

    1. 我們下載下來打來軟體。"Ctrl+N"創建新包
    2. 接著我們就是看到如下,需要我們填下包的描述


      我們來看下這些包描述
      必填(前面四項)

      • 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:零個或多個

      • frameworkAssemblies : 零個或多個

    目前經常用的差不多這些 填寫完畢就可以看到下麵內容

  • 添加要上傳的內容

    在工具的右邊右擊就可以添加給各類東西

    • build:輸出到bin目錄
    • content:原樣拷貝
    • lib:添加引用
    • src:源碼拷貝
    • tools:工具?、

    ps:上圖可以看下lib的引用的dll信息,這些信息可在vs裡面進行設置,包括強簽名等。

  • 上傳流程

    全部工作准備好了,選擇菜單“File”,savesavsAs是保存到本地,我們選擇publish
    ps:上傳需要註冊,並拿到key。註冊教程(這篇文章內容只關註如何獲取key):https://blog.csdn.net/wangwenru6688/article/details/50276405

    上傳成功後,我們就可以在我們BagGet的web看到我們上傳好的包了。



    這樣,我們就將nuget包上傳到我們自己的伺服器了。(同個包不同版本的id應該是一樣的

4. 項目引用包

接下來,我們要怎麼去引用這樣些nuget包呢?

  1. 首先要先添加我們自己伺服器的nuget包源。
    工具=>選項=>nuget包管理器=>程式包源=>新增一條(http://192.168.101.188:5000/v3/index.json)=>點擊更新
  2. 選中要引用包的項目(類庫)進入nuget包管理器(怎麼進的,就不解釋了,自己百度去)。就可以看到我們上傳的包,按照平常那樣引用或者更新就可以了。(**當然你熟悉引用命令也可以直接用命令引用(原本命令與core命令都可以用),具體就不解釋了,附上教程:https://www.cnblogs.com/zhaogaojian/p/8398531.html

  3. 我們看下我們引用的包會在哪?
    1. 首先dll肯定在引用裡面了

    2. 作為content原樣複製,它是在根目錄了

    3. 其他的我發現都在我們項目目錄底下的“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

截圖

  1. 先填好BagGet的伺服器,只需要修改ip即可,再填好NuGetKey,當然你要是想保存在程式里,可以選擇保存

  2. 接著刷新,下麵的樹就會刷新出來,你的nuget伺服器上的程式包,以及版本

  3. 選中版本,選中包的信息與要刪除的版本就會出現右邊,然後點擊刪除就可以了。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Java開發學習心得(二):Mybatis和Url路由 序號接上一篇 "Java開發學習心得(一):SSM環境搭建" 1.3 Mybatis MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google ...
  • 用JavaPOI導出Excel時,我們會考慮到Excel版本及數據量的問題。針對不同的Excel版本,要採用不同的工具類。HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,擴展名是.xls;XSSFWorkbook:是操作Excel2007的版本,擴展名是.xlsx。用過... ...
  • 同步/非同步(描述網路通信模式,適用於請求 響應模型) 同步:發送方發送請求後,需要等待接收響應,結果占用並浪費了CPU資源 非同步:發送方發送請求後,不需要響應,可以繼續發送下一個請求,或者主動掛起線程並釋放CPU資源 阻塞/非阻塞(描述進程的函數方法調用方式) 阻塞:IO 調用會一直阻塞,直至調用結 ...
  • random 模塊 隨機:在某個範圍內取到每一個值的概率是相同的 練習:生成隨機驗證碼 # (1)4位數字的驗證碼 # 基礎版本 lis = '' for i in range(4): num = random.randint(0, 9) lis += str(num) print(lis) # 函 ...
  • 1.什麼是生成器 通過列表生成式,我們可以直接創建一個列表。但是,受到記憶體限制,列表容量肯定是有限的。而且,創建一個包含100萬個元素的列表,不僅占用很大的存儲空間,如果我們僅僅需要訪問前面幾個元素,那後面絕大多數元素占用的空間都白白浪費了。所以生成器就出現了,他彌補了直接生成大列表的不足,改成為定 ...
  • 案例 將一個 pdf 文件按要求分割為幾個部分。比如說一個pdf有20頁,分成5個pdf文件,每個pdf文件包含4頁。設計函數實現? Python代碼 函數講解 本函數是自己測試通過的函數,還有待優化。輸入參數有,將要分割的PDF文件,分割為幾個pdf文件,每個PDF文件頁數。 測試結果 原來只有一 ...
  • spring Aop的配置一定要配置在springmvc配置文件中 springMVC.xml1 <!-- AOP 註解方式 ;定義Aspect --> 2 <!-- 激活組件掃描功能,在包com.ly.aop.aspect及其子包下麵自動掃描通過註解配置的組件--> 3 <context:comp ...
  • 前言 領域驅動設計,其實已經是一個很古老的概念了,但它的複雜度依舊讓學習的人頭疼不已。 互聯網關於領域驅動的文章有很多,每一篇寫的都很好,理解領域驅動設計的人都看的懂。 不過,這些文章對於那些初學者而言,還是如同天書一樣。 買本驅動領域的書來看?別逗了,這可不是C#語法入門,哪裡有書能寫明白的。 想 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...