应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

开发自己的代码生成工具

6716人阅读 2019/4/30 16:07 总访问:5182926 评论:4 收藏:0 手机
分类: 软件架构


在一个项目中其实有很多代码都是重复的,几乎每个基础模块的代码都有增删改查的功能,而这些功能都是大同小异,如果这些功能都要自己去写,将会大大浪费我们的精力降低效率。所以这种重复性的代码完全可以由代码生成器生成。


c#里边的代码生成自带的有t4,是一个非常好用的代码生成工具,可以自己编写生成逻辑,但是如果不是很熟悉的话,自己控制起来还是有点麻烦,其实我们完全可以自己写一个简单的代码生成工具。


要生成代码其实很简单,其实不过就是写文件,把我们需要的代码用StringBuilder写好,然后生成文件即可。

生成成功后我们可以在指定的位置到生成的文件


文件的内容就是我们写入的字符串内容


这样虽然代码和文件能够成功的生成,但是会出现一个问题:文件不是自动包含在项目中

需要点击:显示所有文件才能看到生成的代码文件

然后右键保存就可以把文件包含在项目中

虽然这样可行,但是显然不科学,如果我一次生成的文件很大,会手动做很多工作

其实可以稍微分析一下就能发现,之所以vs能把文件包含到项目中其实是在配置文件写入了配置的

就是在csproj文件中


通过记事本打开就能够看到里边加入的配置,也就是说如果我们在生成代码的同事去向这个csporj文件写入一条配置就能让生成的代码文件自动加入vs的配置中了

然后发现微软有提供专门的类操作csporj文件的类库:Microsoft.Build,vs自带


但是这个并没有那么一下就会用哇,尝试了比较久发现其实几句代码就能实现向csproj加入配置

1:先找到csporj所在的目录

2:打开文件

3:加入配置

4:保存文件即可

示例代码如下:

该项目是单独新建的一个dll,类型为控制台专门用户生成代码的工具,当然生成代码的项目类型都可以

这样一来我们在生成代码的同时就能自动把生成的文件包含在vs中了,不过还有一个问题就是:通过代码修改了csporj文件需要重新加载才行


虽然点一下就行了,但是如果不用点的话岂不是更完美,尝试用c#执行命令去重新编译项目,但是还是没有成功的自动包含,

想想ef修改了数据库也需要去保存一下就先放放了。


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

常用的很厉害的工具

图片压缩相对图片无损放大来说是小kiss。下面是非常非常帅气的图片无损放大http://bigjpg.com/图片压缩https://www.upyun.c...

一些有用的资源分享(工具+电子书)

工具类图片相关工具TinyPNG:https://tinypng.com/ 免费的在线图片压缩工具,压缩率高,无损画质,直接拖拽使用,很方便。p...

windoes 强力下载工具Internet Download Manager

大家好,我是刘小贱,今天呢我给大家推荐一款Windows系统上的下载神器:Internet Download Manager ,这款软件通过在浏览器上...

net core使用jwt 三: 使用过滤器实现通用token验证Token验证工具

net core使用jwt二 : 验证前台传递的tokenhttp://www.tnblog.net/aojiancc2/article/details/2845过滤器实现通用token验证...

oralce plsql打开执行sql的工具

如果不小心关闭了,要打开执行sql的工具栏如下箭头的地方右键即可

maven与工具(eclipse)的集成

1、下载maven插件apache-maven-3.6.22、下载jdk1.8并安装配置环境变量3、解压插件并配置环境变量(JAVA_HOME配置jdk根目录、...

editor.md自定义工具

editor.md自定义工具栏很简单,下载后例子自带了,怎么配置和百度编辑器的很类似也是返回一个数组配置即可你可能不知道这些...

nodejs编写工具--WebStorm

前言:hello老铁们我们又见面了,前面给大家简单的说了ABP框架 今天给大家分享的是Node.js的编写工具WebStom因为ABP要用到...

Linux 文本处理工具 sed

文本处理工具 sed[TOC] sed 介绍 sed 是一种非交互式的流编辑器,它会集于原文件进行文本处理,但并不会修改原有的文...

Jemeter压力测试工具

Jemeter 压力测试工具[TOC] JMeter 简介 阿帕奇JMeter的?应用程序是开源软件,100%纯Java应用而设计的负载测试功能...

如何破解傲软GIF录制工具

前言:hello 小伙伴们 大家好 咋们又见面了 我是小付今天要和大家分享的是破解版的傲软GIF录制工具,有些时候我们在编写博客...

开发winform xml文件生成C类文件工具

最近项目中用到了博通PLC采集图像数据保存的业务,需要解析软件返回的xml文件,然后保存到数据库。为了方便就自己整了一个x...

微软开发工具 Tye 宣布开源

微软近期开源了一款开发人员工具 Tye,能够用于简化微服务以及分布式应用程序的开发、测试以及部署过程。该项目负责人 Amie...

git管理工具SourceTreeSetup介绍

SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mn版本控制系统工具。支持创建、克隆、提...

安装Dbvisualizer数据库工具超级好用

Dbvisualizer是一个很优秀的JDBC调试工具,免费的噢(要破解)DbVisualizer 是一款涉及到所有主要数据库且基于交叉平台上的援...