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. Java并发之AQS详解

    一.概述 谈到并发,不得不谈ReentrantLock:而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQ ...

  2. Java多线程-概念与原理

    一.操作系统中线程和进程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程.比如在 ...

  3. C++相关:C++的IO库

    前言 基本的IO库设施 istream(输入流类型),提供输入操作. ostream(输出流类型),提供输出操作. cin,一个istream对象,从标准输入读取数据. cout,一个ostream对 ...

  4. 配置phpstorm自动上传代码

    本地的项目目录是 D:\www\guandan 虚拟机上的项目目录是 /var/www/guandan

  5. 笔记一下NODEJS建站

    1:npm的使用 -g的包安装用于命令行 --save用于建立依赖 建立依赖后的包只要使用npm install就可以直接全部安装 2:EJS和JADE模板 3:使用Mongoose对Mongodb进 ...

  6. python之@property

    在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9999 这显然不合逻辑.为了限制score的 ...

  7. python使用@property

    在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9999 这显然不合逻辑.为了限制score的 ...

  8. [SQL Server]用 C# 在 LinqPad 建立 Linked Server 跨服务器数据库操作

    在涉及老项目数据迁移的时候,数据库结构已经完全发生变化,而且需要对老数据进行特殊字段的处理,而且数据量较大,使用Navicat导出单表之后,一个表数据大概在100多万的样子,直接导出SQL执行根本行不 ...

  9. kingpin_parser.go

    ) } //字节大小设置 func Size(s kingpin.Settings) (target *uint64) {     target = new(uint64)     s.SetValu ...

  10. too many open files linux服务器 golang java

    1. 现象 服务的cpu跑满(golang实现), 并大量报too many open files错误.服务使用systemd来运行,部署在阿里ecs上. 2.分析 从日志来看,cpu的上升主要为到达 ...