一個技術汪的開源夢 —— 基於 .Net Core 的組件 Nuget 包製作 & 發佈

来源:http://www.cnblogs.com/wlitsoft/archive/2016/11/20/6082389.html
-Advertisement-
Play Games

一個技術汪的開源夢 —— 目錄 微軟的 ASP.Net Core 強化了 Nuget 的使用,所有的 .Net Core 組件均有 Nuget 管理,所以有必要探討一下 .Net Core 組件製作 Nuget 包和發佈。 之前 .Net Framework 程式集打包 Nuget 有以下方法: 1 ...


一個技術汪的開源夢 —— 目錄

微軟的 ASP.Net Core 強化了 Nuget 的使用,所有的 .Net Core 組件均有 Nuget 管理,所以有必要探討一下 .Net Core 組件製作 Nuget 包和發佈。

之前 .Net Framework 程式集打包 Nuget 有以下方法:

1. 使用命令  nuget pack  詳見博客園的一篇博文 《用命令行工具創建 Nuget 程式包》;

2. 使用 NuGet Package Explorer;

3. vs 插件 NuBuild Project System。

這其中第 3 種方法是最好用的,可以直接在 vs 中製作 Nuget 包,然後用方法 2 校驗生成的 Nuget 包對不對或者微調發佈,亦可以用 nuget 命令進行包的推送。

下麵說 .Net Core 組件的打包

微軟既然所有的 .Net Core 組件均有 Nuget 去管理,那它肯定會出一個打包工具或者命令,沒錯下麵就開始說一下  dotnet pack  命令。

想必大家之前肯定用過 dotnet 相關的命令,那今天說一下它的打包命令 dotnet pack 這裡的打包就是打成 nuget 包。

包生成

  執行命令 dotnet pack --help 看一下有啥子參數。

  

  -h 不用說了就是查看幫助;

  -o 指定生成的nuget包要輸出到那個目錄下;

  --no-build 打包時不要編譯項目;

  -b 項目編譯時的臨時輸入目錄;

  -c 配置使用 Debug 模式還是 Release 模式(預設為 Debug);

  -version-suffix 如果 project.json 中的項目版本以 * 結尾,這個參數可以指定參數將 * 替換掉;

  -s 指定是否僅供內部 nuget 使用。

以下是簡單示例:

1. project.json 文件目錄下執行命令: dotnet pack -c Release -o Nugets 

2. 非 project.json 文件目錄下執行命令:

 dotnet pack -c Release -o Nugets src\Wlitsoft.Framework.Common.Abstractions\project.json 

打包後會生成兩個文件

    Wlitsoft.Framework.Common.Abstractions.0.1.1-Beta.nupkg

    Wlitsoft.Framework.Common.Abstractions.0.1.1-Beta.symbols.nupkg

第一個文件是 Nuget 包文件,第二個是包括源碼的 Nuget 包文件。

命名規則為:項目文件夾名稱 + 版本號(project.json 內指定的 version),沒有搞明白怎麼修改預設的命名生成規則。

註意:版本號尾碼帶 - xxx 標示預發行版本。

包檢查

包已經生成成功了那咱用 NuGet Package Explorer 打開看眼生成的對不對,當然亦可用壓縮文件軟體將 nupkg 文件打開查看 nuget 包的描述文件。

 

包上傳

如果是開源項目的話,包可以上傳到 Nuget 官方伺服器,如果是公司內部私有項目的話那就上傳到內部是私有 Nuget 伺服器或者文件共用伺服器中(Nuget 源支持文件共用源)。

1. 在 Nuget 官網上傳。

2. 使用 Nuget 命令上傳

    該方法需要提交生成一個 key ,然後使用命令向 Nuget 伺服器推送包。

 

校驗上傳結果

打開 vs 的 Nuget 查詢看有沒有上傳的包。

 

最後熱烈慶祝 Visual Studio 出 Mac 版本了,但有一個文件不支持 VS 2015 最新的 xproj 項目文件,只支持 csproj 。。。。

 一個技術汪的開源夢 —— 目錄


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

-Advertisement-
Play Games
更多相關文章
  • Visual Studio for Mac離線下載安裝。 環境:OS X EI Caption 10.11.2 .NET Core SDK 1.1 需預先安裝 .NET Core 1.1 SDK macOS版下載地址:https://go.microsoft.com/fwlink/?LinkID=8 ...
  • 前面幾篇重點都在講普通列表的相關操作,本篇主要講樹型列表的操作,詳情如下:... ...
  • 1、字母大小寫處理 2、字母與ASCII的互換 在Web開發時,ASCII的作用!(American Standard Code for Information Interchange,美國信息交換標準代碼) 舉個例子:' 單引號在sql語句中是個殺手,但是如果把(')它轉換成 "&#" + ASC ...
  • 利用 async & await 進行非同步 IO 操作 可以使用非同步函數訪問文件。使用非同步功能,可以調用非同步方法,而不使用回調或拆分您在多個方法或 lambda 表達式中的代碼。 若要使同步代碼非同步,則調用非同步方法而不是一個同步方法並添加幾個關鍵字到代碼中。 對文件操作使用非同步特性: 非同步特性有利於 ...
  • asp.net mvc 中 一種簡單的 URL 重寫 Intro 在項目中想增加一個公告的功能,但是又不想直接用預設帶的那種路由,感覺好low逼,想弄成那種偽靜態化的路由 (別問我為什麼不直接靜態化,當時就是只想做成偽靜態化以後可能會做成完全靜態化),至於為什麼做偽靜態化或靜態化可以自行百度或參考本 ...
  • SmtpClient類 允許應用程式使用簡單郵件傳輸協議 (SMTP) 發送電子郵件。 命名空間:system.net.mail 屬性 ClientCertificates:指定應使用哪個證書來建立安全套接字層(SSL)連接 Credentials:獲取或設置用來對發件人進行身份驗證的憑證 Deli ...
  • 上一篇介紹了Aries列表數據表格的格式化處理及行內編輯,本篇介紹DataGrid的主鍵操作區相關內容,詳情如下... ...
  • 參考資料: .edmx 文件概述(實體框架) ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...