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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

发布nuget包的正确姿势---cicd自动打包发布

發布時間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 发布nuget包的正确姿势---cicd自动打包发布 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最輕便的發布nuget包方式,方便cicd自動打包發布nuget包

首先新建項目

項目名隨便取,這里就叫它GuiH.ClassLibrary

默認即可,需要改目標版本時,等創建好再改

項目創建好了

隨便寫個接口方法

namespace GuiH.ClassLibrary {public class Class1{public static void Test(){Console.WriteLine("Hello Nuget!!!");}} }

接下來修改工程文件,默認情況是這樣的


我們添加下面一些配置

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net6.0</TargetFramework><ImplicitUsings>enable</ImplicitUsings><Nullable>enable</Nullable><!--以下是我們自己添加的--><!--版本號,重要性不必多說--><Version>1.0.0</Version><!--添加該配置,在編譯時進行打包--><GeneratePackageOnBuild>true</GeneratePackageOnBuild><!--添加該配置才會生成注釋文件,默認無注釋--><GenerateDocumentationFile>true</GenerateDocumentationFile></PropertyGroup></Project>

執行編譯命令,根據上面的配置,編譯后會自動進行打包

// 該命令在GuiH.ClassLibrary項目根目錄下執行 dotnet build -c=Release


命令行中也提示了?已成功創建包“E:\工作區\GuiH.ClassLibrary\GuiH.ClassLibrary\bin\Release\GuiH.ClassLibrary.1.0.0.nupkg”

將GuiH.ClassLibrary.1.0.0.nupkg推送至nuget倉庫,可以自己搭建,也可以是微軟官方nuget倉庫

在www.nuget.org注冊一個賬號,然后獲取apikey


詳細發布nuget命令參考:dotnet-nuget-push

// $apikey 替換為你的apikey dotnet nuget push ./bin/Release/GuiH.ClassLibrary.1.0.0.nupkg -k $apikey -s https://api.nuget.org/v3/index.json --skip-duplicate正在將 GuiH.ClassLibrary.1.0.0.nupkg 推送到 'https://www.nuget.org/api/v2/package'...PUT https://www.nuget.org/api/v2/package/ warn : All published packages should have license information specified. Learn more: https://aka.ms/deprecateLicenseUrl.Created https://www.nuget.org/api/v2/package/ 1404 毫秒 已推送包。

搜索發布的包(一般會短暫延遲幾分鐘才能搜到),在項目中使用(應該創建一個控制臺測試,知道就好~)


多種目標平臺支持

例如兼容framwork4.6.1,修改工程文件如下,注意單詞TargetFrameworks的單復數

// 修改前 <TargetFramework>net6.0</TargetFramework> // 修改后 <TargetFrameworks>net6.0;net461</TargetFrameworks>

或只支持net461

<TargetFrameworks>net461</TargetFrameworks>

CICD

cicd腳本中核心的兩條命令就是上述兩個,運行環境安裝相應的sdk(.net5/.net6)即可。

關于如何多平臺兼容的詳細內容,下篇文章介紹。

總結

以上是生活随笔為你收集整理的发布nuget包的正确姿势---cicd自动打包发布的全部內容,希望文章能夠幫你解決所遇到的問題。

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