Visual Studio动态生成版权信息

VS2008

  1.1,类文件模板:在安装目录打开CS模板文件夹(D:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class.zip),在此文件夹下查找到Class.cs,打开编辑该模版文件。
  1.2,WinForm模板:在安装目录打开WinForm模板文件夹(D:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Windows Forms\2052\Form.zip),在此文件夹下查找到form.cs,form.designer.cs,打开编辑该模版文件。

VS2010

  2.1,类文件模板:在安装目录打开CS模板文件夹(D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class.zip),在此文件夹下查找到Class.cs,打开编辑该模版文件。
  2.2,WinForm模板:在安装目录打开WinForm模板文件夹(D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplatesCache\CSharp\Windows Forms\2052\Form.zip),在此文件夹下查找到form.cs,form.designer.cs,打开编辑该模版文件。

VS2015

  3.1,类文件模板:在安装目录打开CS模板文件夹(C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\2052\Class),和(C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplatesCache\CSharp\Code\1033\Class)在此文件夹下查找到Class.cs,打开编辑该模版文件。

  3.2,WinForm模板:在安装目录打开WinForm模板文件夹(C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplatesCache\CSharp\Windows Forms\2052\Form),在此文件夹下查找到form.cs,form.designer.cs,打开编辑该模版文件。

VS2017

  4.1,类文件模板:在安装目录打开CS模板文件夹(C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\2052\Class),在此文件夹下查找到Class.cs,打开编辑该模版文件。
  4.2,WinForm模板:在安装目录打开WinForm模板文件夹(C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ItemTemplates\CSharp\Windows Forms\2052\Form),在此文件夹下查找到form.cs,form.designer.cs,打开编辑该模版文件。

在模板文件头部加入自定义版权信息,示例如下:

#region 描述信息
/**
* 文件名:$safeitemname$
* 类 名:$safeitemrootname$
* 命名空间:$rootnamespace$
* 当前系统用户名:$username$
* 当前用户所在的域:$userdomain$
* 当前机器名称:$machinename$
* 注册的组织名:$registeredorganization$
* 时间:$time$
* CLR:$clrversion$
* GUID: $guid1$
* 当前系统时间:$year$
* Copyright (c) $year$ 熊仔其人 Corporation. All rights reserved.
*┌─────────────────────────────────────────────────┐
*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
*│ 版权所有:熊仔其人                         │
*└─────────────────────────────────────────────────┘
* * Ver 变更日期 负责人 当前系统用户名 CLR版本 变更内容
* ───────────────────────────────────
* V0.01 $time$ 熊仔其人 $username$ $clrversion$ 初版
**/
#endregion using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
$if$ ($targetframeworkversion$ >= 4.5)using System.Threading.Tasks;
$endif$
namespace $rootnamespace$
{
public class $safeitemrootname$
{
}
}

保存,重启Visual Studio编辑工具,然后新建类文件,效果如下:

#region 描述信息
/**
* 文件名:Class1
* 类 名:Class1
* 命名空间:SmsSystem.Model
* 当前系统用户名:XIONGXUEHAO
* 当前用户所在的域:KINGSOFT
* 当前机器名称:BZD14582-PC
* 注册的组织名:Microsoft
* 时间:2019/1/15 16:00:27
* CLR:4.0.30319.42000
* GUID: a48d0c15-3f33-4acd-82f4-a558203ab19f
* 当前系统时间:2019
* Copyright (c) 2019 熊仔其人 Corporation. All rights reserved.
*┌─────────────────────────────────────────────────┐
*│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │
*│ 版权所有:熊仔其人                         │
*└─────────────────────────────────────────────────┘
* * Ver 变更日期 负责人 当前系统用户名 CLR版本 变更内容
* ───────────────────────────────────
* V0.01 2019/1/15 16:00:27 熊仔其人 XIONGXUEHAO 4.0.30319.42000 初版
**/
#endregion using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace SmsSystem.Model
{
public class Class1
{
}
}

这个是样例。

参数说明

我们注意到有些参数使用了美刀符号$包括起来,这些参数占位符会自动生成一些值:

$clrversion$ 当前的CLR版本号
guid[1-10] 首先guid必须小写,后面匹配的数字也必须写,且1-10,即一个注释文件头中最多生成10个GUID。ps:如 $guid1$
$machinename$ 当前机器的名称
$registeredorganization$ 注册的组织名
$rootnamespace$ 命名空间名
$safeitemrootname$ 安全类名
$time$ 时间,格式:YYYY/MM/DD 00:00:00
$userdomain$ 用户所在的域
$username$ 当前系统用户名
$year$ 当前系统时间 YYYY
$safeitemname$ 文件名

到此结束。

其他参数请指教。

Visual Studio动态生成版权信息的更多相关文章

  1. Visual Studio 不生成.vshost.exe和.pdb文件的方法【转】

    Visual Studio 不生成.vshost.exe和.pdb文件的方法[转] 使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost ...

  2. C#动态生成图书信息XML文件

    通过C#动态生成图书信息XML文件,下面有个不错的示例,需要的朋友可以参考下 通过C#动态生成图书信息XML文件(Books.xml),文件如下: 复制代码代码如下: <?xml version ...

  3. 让InstallShield 2015 Limited Edition for Visual Studio 2015生成的setup.exe双击时以管理员权限运行

    转载:http://blog.csdn.net/zztoll/article/details/52096700 如题,如何让InstallShield 2015 Limited Edition for ...

  4. 第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息

    第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息 crapy爬取百度新闻,爬取Ajax动态生成的信息,抓取百度新闻首页的新闻rul地址 有多 ...

  5. 十三 web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息

    crapy爬取百度新闻,爬取Ajax动态生成的信息,抓取百度新闻首页的新闻rul地址 有多网站,当你浏览器访问时看到的信息,在html源文件里却找不到,由得信息还是滚动条滚动到对应的位置后才显示信息, ...

  6. Visual Studio动态代码生成的实现基础

    这篇文章讨论以下3个问题: 1.代码生成器应该做什么 2.大多数代码生成器的缺点 3.动态代码生成实现的基础 代码生成器应该做什么? 我认为,目标是加快项目开发,方式是减少重复代码手工操作,实现是用过 ...

  7. Visual Studio 不生成.vshost.exe和.pdb文件的方法

    使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件. 一.先解释一下各个文件的作用: .pdb文件: 程 ...

  8. 修改Visual Studio项目中程序集信息默认公司名称的两种方法

    这个公司名就是安装系统时注册的单位名称.可以通过修改注册表修改 Windows 系统的注册信息,方法如下:1.在开始"运行"中输入regedit,打开注册表编辑器.2.依次展开:H ...

  9. Visual Studio自动生成XML类和JSON类

    Visual Studio 2013及以上版本提供了一个非常实用的功能.可以根据xml文档或json文档自动生成类.有了这个工具反序列化时就不用再手动写类并且实现了强类型操作. 步骤 1. 准备一份j ...

随机推荐

  1. pandas用法小结

    前言 个人感觉网上对pandas的总结感觉不够详尽细致,在这里我对pandas做个相对细致的小结吧,在数据分析与人工智能方面会有所涉及到的东西在这里都说说吧,也是对自己学习的一种小结! pandas用 ...

  2. JSON Patch

    1.前言 可以这么说的是,任何一种非强制性约束同时也没有"标杆"工具支持的开发风格或协议(仅靠文档是远远不够的),最终的实现上都会被程序员冠上"务实"的名头,而 ...

  3. Oracle12c中SQL优化(SQL TUNING)新特性之SQL计划指令

    SQL计划指令是Oracle12c中自适应查询优化的功能之一.SQL计划指令就像“额外的提醒” ,用以提醒优化器你先前选择了的计划并不是最优的,典型的是因为错误的势评估.错误的势评估往往是由统计信息缺 ...

  4. WBS 与 甘特图

    WBS:工作分解结构(Work Breakdown Structure) 创建WBS:创建WBS是把项目 交付成果和项目工作分解成较小的,更易于管理的组成部分的过程. WBS是项目管理重要的专业术语之 ...

  5. Linux网络简介

    Linux的网络简介 1.TCP/IP协议簇  (通俗的解释就是为了网路传输指定的一种标准),它将网络划分为四层:应用层 .传输层.互联层 .网络接口层 . 基础层是网络接口层(说白了就是把帧格式的数 ...

  6. 如何发布jar包到maven中央仓库

    自使用maven以来,没少使用maven中央仓库中的各种jar包,方便有效,但是咱们也不能总是只取不予,也应该懂得奉献,当你写好了一个十分好用的jar包,想贡献出去给大家使用的时候,应该怎么做呢?当然 ...

  7. CentOS 7.2 关闭防火墙

    CentOS7 的防火墙配置跟以前版本有很大区别,CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样 1.关闭防火墙: systemctl stop f ...

  8. JDBC连接MySQL数据库基础

    主要内容 MySQL的基本操作和基本SQL语法 使用JDBC进行MySQL数据库的开发 使用DriverManager.Connection.PreparedStatement.ResultSet对数 ...

  9. ResultSet,RowSet,OracleCachedRowSet和RowSetMetaData区别及联系

    在java主要涉及到数据开发的过程中,我们会和数据库打交道很多,其中使用了数据集比如ResultSet和RowSet,经常使用两种,还有其它的一些,那么这两种的主要区别是什么呢?我们先来看它们引入的方 ...

  10. &,|,^的用法

    &,|,~,^的用法 &按位与 |按位或 ~按位非 ^按位异或 举例: int x = 5; int y = 11; System.out.println(x|y); System.o ...