VS2019 自定义项目模板

 使用“宇宙最强IDE”开发项目时,都需要根据不同情况选择一个项目模板,来满足开发需求:如下

 

VS2019 自定义项目模板

  VS为我们提供了基础的项目模板,但现有项目模板未包含基础功能如:日志输出、审计日志、SwaggerUI、认证等,那么我们能否自定义项目模板来满足我们的需求呢?答案当然是肯定的

 那么接下来开始实现自定义项目模板的创建

一、自定义项目模板创建

 本次我们来创建一个实现了基础功能的webapi模板

 创建自定义的项目模板,有以下几个步骤:

 1、创建原始的项目(模板项目)

  创建WebApi项目:

   

VS2019 自定义项目模板

 

   实现WebApi相关基础功能:SwaggerUI、认证、性能监控(MiniProfiler)等基础功能;可以在之前博客内容中查看实现具体方式

 2、替换模板项目的参数

  此时模板的基础功能已经实现,但是在创建项目时,会根据输入的项目名称;来设置代码中的命名空间、输出程序名称等信息。

  那么是如何实现的呢?——模板参数

  当前支持的内置项目参数如下表:(模板参数区分大小写。)

参数 说明
clrversion   公共语言运行时 (CLR) 的当前版本。  
ext_*   将 ext_ 前缀添加到任何参数,以引用父模板的变量。 例如,ext_safeprojectname。  
guid[1-10]   一个用于替换项目文件中的项目 GUID 的 GUID。 可指定最多 10 个唯一的 GUID(例如,guid1)。  
itemname   在其中使用参数的文件的名称。  
machinename   当前的计算机名称(例如,Computer01)。  
projectname   创建项目时由用户提供的名称。  
registeredorganization   来自 HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 的注册表项值。  
rootnamespace   当前项目的根命名空间。 此参数仅适用于项模板。  
safeitemname   与 itemname 相同,但所有不安全字符和空格替换为了下划线。  
safeitemrootname   与 safeitemname 相同。  
safeprojectname   用户在创建项目时提供的名称,但名称中删除了所有不安全字符和空格。  
time   以 DD/MM/YYYY 00:00:00 格式表示的当前时间。  
specifiedsolutionname   解决方案的名称。 在选中“创建解决方案目录”时,specifiedsolutionname 具有解决方案名称。 在未选中“创建解决方案目录”时,specifiedsolutionname 为空。  
userdomain   当前的用户域。  
username   当前的用户名称。  
webnamespace   当前网站的名称。 此参数在 Web 窗体模板中用于保证类名是唯一的。 如果网站在 Web 服务器的根目录下,则此模板参数解析为 Web 服务器的根目录。  
year   以 YYYY 格式表示的当前年份。  

  如:设置代码文件中命名空间定义:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsgwx.html