发布nuget包的正确姿势---cicd自动打包发布
生活随笔
收集整理的這篇文章主要介紹了
发布nuget包的正确姿势---cicd自动打包发布
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最輕便的發(fā)布nuget包方式,方便cicd自動(dòng)打包發(fā)布nuget包
首先新建項(xiàng)目
項(xiàng)目名隨便取,這里就叫它GuiH.ClassLibrary
默認(rèn)即可,需要改目標(biāo)版本時(shí),等創(chuàng)建好再改
項(xiàng)目創(chuàng)建好了
隨便寫個(gè)接口方法
namespace GuiH.ClassLibrary {public class Class1{public static void Test(){Console.WriteLine("Hello Nuget!!!");}} }接下來修改工程文件,默認(rèn)情況是這樣的
我們添加下面一些配置
執(zhí)行編譯命令,根據(jù)上面的配置,編譯后會(huì)自動(dòng)進(jìn)行打包
// 該命令在GuiH.ClassLibrary項(xiàng)目根目錄下執(zhí)行 dotnet build -c=Release
命令行中也提示了?已成功創(chuàng)建包“E:\工作區(qū)\GuiH.ClassLibrary\GuiH.ClassLibrary\bin\Release\GuiH.ClassLibrary.1.0.0.nupkg”
將GuiH.ClassLibrary.1.0.0.nupkg推送至nuget倉(cāng)庫(kù),可以自己搭建,也可以是微軟官方nuget倉(cāng)庫(kù)
在www.nuget.org注冊(cè)一個(gè)賬號(hào),然后獲取apikey
詳細(xì)發(fā)布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 毫秒 已推送包。搜索發(fā)布的包(一般會(huì)短暫延遲幾分鐘才能搜到),在項(xiàng)目中使用(應(yīng)該創(chuàng)建一個(gè)控制臺(tái)測(cè)試,知道就好~)
多種目標(biāo)平臺(tái)支持
例如兼容framwork4.6.1,修改工程文件如下,注意單詞TargetFrameworks的單復(fù)數(shù)
// 修改前 <TargetFramework>net6.0</TargetFramework> // 修改后 <TargetFrameworks>net6.0;net461</TargetFrameworks>或只支持net461
<TargetFrameworks>net461</TargetFrameworks>CICD
cicd腳本中核心的兩條命令就是上述兩個(gè),運(yùn)行環(huán)境安裝相應(yīng)的sdk(.net5/.net6)即可。
關(guān)于如何多平臺(tái)兼容的詳細(xì)內(nèi)容,下篇文章介紹。
總結(jié)
以上是生活随笔為你收集整理的发布nuget包的正确姿势---cicd自动打包发布的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Blog.Core开源】框架集成部门权
- 下一篇: C# 使用TCP创建HTTP客户程序