您的位置:首頁(yè) > 軟件教程 > 教程 > 如何將Generator打包成Nuget進(jìn)行使用

如何將Generator打包成Nuget進(jìn)行使用

來(lái)源:好特整理 | 時(shí)間:2024-04-11 15:49:29 | 閱讀:103 |  標(biāo)簽: T Ato S C get ug   | 分享到:

前面我們簡(jiǎn)單的實(shí)現(xiàn)了一個(gè)從swagger生成實(shí)體類(lèi)的Generator,在實(shí)際使用中,通過(guò)nuget包引用使用會(huì)更方便,那么本篇文章將介紹如何將Generator打包成Nuget來(lái)使用。 打包Nuget 這里我們將GenerateClassFromSwagger.Analysis打包成Nuget進(jìn)行

前面我們簡(jiǎn)單的實(shí)現(xiàn)了一個(gè)從swagger生成實(shí)體類(lèi)的Generator,在實(shí)際使用中,通過(guò)nuget包引用使用會(huì)更方便。那么本篇文章將介紹如何將Generator打包成Nuget來(lái)使用。

打包Nuget

這里我們將GenerateClassFromSwagger.Analysis打包成Nuget進(jìn)行使用。首先需要修改項(xiàng)目文件。

修改項(xiàng)目文件

在PropertyGroup添加 true 表示在編譯時(shí)生成nuget包,并且 false 表示不將生成器作為庫(kù)依賴(lài)項(xiàng)包括在內(nèi)。以及添加ItemGroup 包含 將生成器打包到nuget包的分析器目錄中。

如果沒(méi)有第三方依賴(lài)的時(shí)候,僅這些配置已經(jīng)足夠了。如果需要依賴(lài)第三方組件。這里我們依賴(lài)了Newtonsoft.Json的包,則需要添加 來(lái)指定和Generator的依賴(lài)關(guān)系。完整修改后的項(xiàng)目配置如下:


...

編譯項(xiàng)目

修改項(xiàng)目文件后,編譯項(xiàng)目,可以在Debug目錄下看到nupkg文件。將文件上傳到nuget.org,等待上架成功后可以在NUGET包管理器搜索并安裝。

安裝Nuget

首先創(chuàng)建一個(gè)GenerateClassFromSwaggerNuget的控制臺(tái)項(xiàng)目,然后添加Nuget依賴(lài)。搜索GenerateClassFromSwagger.Analysis即可找到。將我們的swagger.json復(fù)制一份過(guò)來(lái)并設(shè)置成AdditionalFiles。修改包屬性的OutputItemType和ReferenceOutputAssembly。完整配置如下:


...

編譯控制臺(tái)項(xiàng)目

接下來(lái)編譯GenerateClassFromSwaggerNuget項(xiàng)目,編譯完成后?梢栽诜治銎骺吹轿覀兩傻奈募8覀冎苯右庙(xiàng)目依賴(lài)的效果一致。

輸出文件

同樣,如果我們需要輸出文件,在項(xiàng)目文件中添加EmitCompilerGeneratedFiles標(biāo)簽。然后再次編譯。可以在obj目錄中找到生成的文件列表。如果需要輸出到指定目錄,則跟上篇文章的方式一致,這里就不贅述了。

結(jié)語(yǔ)

本片文章介紹了將Generator打包成Nuget進(jìn)行使用,可以更方便的在不同項(xiàng)目中使用。

本文代碼倉(cāng)庫(kù)地址https://github.com/fanslead/Learn-SourceGenerator

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)