Skip to content
| Marketplace
Sign in
Visual Studio>Tools>OSharp代码生成器
OSharp代码生成器

OSharp代码生成器

LiuliuSoft

|
2,462 installs
| (3) | Free
OSharpFramework(.NetStandard2.0) 框架分层代码生成基架,配合实体生成各层的基础代码
Download

OSharp 代码生成器

OSharpFramework(.NetStandard2.0)框架分层代码生成基架,配合实体生成各层的基础代码

生成器使用流程

  1. 配置代码生成的需要的项目信息,项目的各个模块信息,模块的各个实体信息,实体的各个属性信息,保存为配置文件
  2. 基于项目配置信息和内置的已编译Razor模板,使用Razor引擎RazorEngine生成 实体类,实体配置类,InputDto,OutputDto,业务层接口,业务层实现,MVC控制器代码 等项目各个层次的代码
  3. 将生成的代码整合进项目工程中,通过类继承和partial分部类对生成代码进行扩展,实现实际的业务需求

代码生成流程

  1. 创建新的代码生成项目配置信息时,自动使用初始化的内置模板配置,内置模板配置如下: image
  2. 可按需要添加自定义的代码模板,模板需指定元数据(数据实体或者模块信息)、模板文件路径、生成代码输出相对路径等信息,如下图: image
  3. 可对模板进行预编译,由cshtml源文件生成dll程序集,预编译将进行如下工作:
    1. 对于内置模板,生成程序集路径为:插件安装目录/Resources/Templates.XXX.dll,对于自定义模板,生成程序集路径为:自定义模板所在目录/模板文件名.dll(如上图)
    2. 获取模板源代码的MD5和生成程序集文件的MD5,存储到预编译配置信息中,以供是否已预编译的对比验证
  4. 配置代码生成项目的项目信息、项目各个模块信息、模块各个实体信息、实体各个属性信息,并保存,保存的同时,模板配置也将同时保存到项目配置中
  5. 生成代码,验证模板是否已编译,未编译的进行编译,按照模板配置中的输出路径格式,保存生成的代码文件
    1. 使用项目命名空间、模板名称、实体名称等信息对输出路径中的点位符进行替换,获得代码文件真实保存路径
    2. 如果VisualStudio已打开的解决方案是OSharp解决方案
      1. 对于“单次” = false 的模板,属于每次都生成代码的模板,直接添加或覆盖现有的代码文件
      2. 对于“单次” = true 的模板,属于只生成一次的模板,如果代码文件不存在,直接添加生成的代码文件,如果代码文件已存在,则跳过不覆盖,以保存用户对文件的修改信息。
    3. 如果不是OSharp解决方案,直接添加或覆盖所有的代码文件

界面展示

入口菜单

image

项目生成代码配置

image

生成的代码

image

更新日志

3.1.2 (2020/3/29)

  1. 配合osharp v3.1.2 更新,升级代码模板

3.0.0.5 (2019/11/07)

  1. 更新 Project-Module-Entity-Property 的显示布局

3.0.0.3 (2019/10/15)

  1. 自动分析并确定OSharp源代码文件夹输出位置(src\)
  2. 配合Repository的Query方法更新,更新模板
  3. 修复Controller.Delete的主键类型错误的问题

1.7.2 (2019/09/10)

  1. 修复Controller类的Delete方法主键类型固定为int的问题

1.7.0 (2019/09/08)

  1. 随框架更新,升级NgAlain8之后的部分前端代码问题

1.6.3 (2019/05/22)

  1. 修复生成的InputDto和OutputDto代码缺少可空值类型(Type?)的问题

1.6.2 (2019/05/20)

  1. 属性元数据新增“数据权限标识”的字符串字段

1.6.1 (2019/05/19)

  1. 新增Angular-Component 的required代码的生成
  2. 新增InputDto的Attribute代码的生成
  3. 修复EntityConfiguration生成代码缺少ICollection 命名空间的问题

1.6.0 (2019/05/16)

  1. 配合 osharp1.0.1 的框架更新,更新代码生成器

1.5.3 (2019/04/30)

  1. 配合 osharp0.5.0-beta07 的框架更新,添加Service层的InputDto的数据验证

1.5.2 (2019/04/30)

  1. 修复在VS安装时报Visual Studio MPF的问题

1.5.1 (2019/04/30)

  1. 增加模块,实体,实体属性的行排序,方便调整生成代码的数据顺序
  2. 将模块/实体/实体属性的下级数据显示由按钮改为行选择事件
  3. 移除生成代码中的“最后生成时间”,避免重新生成时,未更改的文件也存在最后更新时间冲突的问题
  4. 调整外键关系选项列表,移除实体属性的最小/大值
  5. 增加项目级别的代码生成,优化模板细节,增加全部模板编译按钮
  6. 实体配置添加是否列表选项,用于控制是否生成前端列表代码
  7. 修复实体配置类一对一的外键错误问题

1.5.0 (2019/04/26)

  1. 增加模块,实体,实体属性的行排序,方便调整生成代码的数据顺序
  2. 将模块/实体/实体属性的下级数据显示由按钮改为行选择事件
  3. 修复实体配置类一对一的外键错误问题

1.4.0 (2019/04/20)

  1. 添加实体类导航属性及实体类外键配置FluentAPI的代码生成支持
  2. 添加Angular的ng-alain的后台管理模块代码生成

1.3.0 (2019/04/14)

  1. 添加生成器的 VS2019 的支持
  2. 配合VS2019的升级,将生成器的入口菜单改为TopLevel,在VS2017中将占用一个顶级菜单项,在VS2019中将被集中到 扩展 菜单下
  3. (template):将生成基类的private成员访问性更改为protected,以便在派生类中直接使用
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft