前面我们简单的实现了一个从swagger生成实体类的Generator,在实际使用中,通过nuget包引用使用会更方便,那么本篇文章将介绍如何将Generator打包成Nuget来使用。
打包Nuget
这里我们将GenerateClassFromSwagger.Analysis打包成Nuget进行使用。
首先需要修改项目文件。
修改项目文件
在PropertyGroup添加true表示在编译时生成nuget包以及false表示不要将生成器作为库依赖项包括在内。
以及添加ItemGroup 包含将生成器打包到nuget包的分析器目录中
如果没有第三方依赖的时候,仅这些配置已经足够了。如果需要依赖第三方组件。
这里我们依赖了Newtonsoft.Json的包,则需要添加 来指定和Generator的依赖关系。
完整修改后的项目配置如下:
netstandard2.0
latest
1.0.2
true
true
$(GetTargetPathDependsOn);GetDependencyTargetPaths
true
false
编译项目
修改项目文件后,编译项目,可以在Debug目录下看到nupkg文件。
将文件上传到nuget.org,等待上架成功后可以在NUGET包管理器搜索并安装。
安装Nuget
首先创建一个GenerateClassF服务器托管romSwaggerNuget的控制台项目服务器托管,然后添加Nuget依赖。搜索GenerateClassFromSwagger.Analysis即可找到。
将我们的swagger.json复制一份过来并设置成AdditionalFiles。
修改包属性的OutputItemType和ReferenceOutputAssembly
完整配置如下:
Exe
net8.0
enable
enable
编译控制台项目
接下来编译GenerateClassFromSwaggerNuget项目,编译完成后。可以在分析器看到我们生成的文件
跟我们直接引用项目依赖的效果一致。
输出文件
同样,如果我们需要输出文件,在项目文件中添加EmitCompilerGeneratedFiles标签。
true
然后再次编译。可以在obj目录中找到生成的文件列表。
如果需要输出到指定目录,则跟上篇文章的方式一致,这里就不赘述了。
结语
本片文章介绍了将Generator打包成Nuget进行使用,可以更方便的在不同项目中使用。
本文代码仓库地址https://github.com/fanslead/Learn-SourceGenerator
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
物联网(IoT)是指通过互联网将各种物理设备、传感器、车辆等连接起来,从而实现数据交互和智能化控制的技术领域。而低代码开发平台则是一种快速构建应用程序的方法,通过简化开发过程,使开发人员能够更迅速地实现创意和创新。本文将探讨物联网与低代码的结合,以及这种结合如…