在做项目的过程中还有一些特定的格式需要大量使用这个时候用模板就比较方便了。VS给我们提供了自定义模板,做法如下:
VS项目模板及项模板位置,例如:ProgramFiles\Microsoft Visual Studio10.0\Common7\IDE\
默认情况下,与产品一起安装的模板位于以下位置:
- /Common7/IDE/ItemTemplates/语言/区域设置/
- /Common7/IDE/ProjectTemplates/语言/区域设置/
VS项目模板介绍
csWindowsApplication.vstemplate模板文件:
|
VSTemplate元素
VSTemplate 元素是 .vstemplate文件的根元素,其属性如下:
属性 | 说明 |
Type | 将模板标识为项目模板或项模板。此属性的值可以为 |
Version | 指定模板的版本号。Visual Studio2005 |
子元素
元素 | 说明 |
TemplateData | 必选元素。指定将此模板分类的数据,并定义此模板在“新建项目”或“添加新项”对话框中的显示方式。 |
TemplateContent | 必选元素。指定模板的内容。 |
WizardExtension | 可选的元素 |
WizardData | 可选的元素 |
模板参数
所有模板都支持在对模板进行实例化时进行参数替换,以替换关键参数,如类名和命名空间。当用户在“新建项目”或“添加新项”对话框中单击“确定”时,这些参数将由后台运行的模板向导替换。
模板参数以 $参数$ 格式进行声明。如:$safeprojectname$。
模板的保留参数如下表:
参数 | 说明 |
clrversion | 公共语言运行库 |
GUID[1-10] | 用于替换项目文件中的项目 |
itemname | 用户在添加新项对话框中提供的名称。 |
machinename | 当前的计算机名称(例如,Computer01) |
projectname | 用户在新建项目对话框中提供的名称。 |
registeredorganization | HKLM/Software/Microsoft/WindowsNT/CurrentVersion/RegisteredOrganization |
rootnamespace | 当前项目的根命名空间。此参数用于替换正向项目中添加的项中的命名空间 |
safeitemname | 用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格 |
safeprojectname | 用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。 |
time | 以 |
userdomain | 当前的用户域 |
username | 当前的用户名 |
webnamespace | 当前网站的名称。在 |
year | 以 |
添加各模板
上面的一些知识点可能会有些凌乱,但都是在后文中会用到的,所以上面的要了解下。
添加模板分为两类,一类是新建项目时的项目模板,一类是在项目中添加新项时的项模板。其步骤如下:
●
●
●
添加项目模板
此处将以做一个C/S的WINFORM模板来说明添加一个模板的操作方法,其他项目模板类似,只有路径上有所不同,路径不同的会给出相关路径。
制作模板
MICRO提供了制作模板的方法,http://msdn.microsoft.com/zh-cn/library/xkh1wxd8.aspx,但我在操作时没有按照这样的方法来处理,我的作法是将已有的模板COPY出来,修改,放到新的文件夹,步骤如下:
●
● 修改Program.CS,assemblyinfo.cs文件
●
●
●
至此,WINFORM的项目模板已做好。
将模板COPY到指定位置
我的做法是将/Common7/IDE/ProjectTemplates/CSharp/Windows下的所有内容COPY到一个新的文件夹,如VSPROJECT,删除
如果已安装 Visual Studio SDK,则可以使用“VSIX项目”模板来将已完成的目标包装到.vsix 文件中用于部署。
重设VS环境
打开VisualStudio Tools下的Visual Studio2010 命令提示工具,执行devenv /setup
添加B/S项目模板
上文是添加C/S项目模板的方法,添加B/S项目模板的方法与其类似,有区别的地方在于COPY模板的地方,B/S将生成的模板直接COPY到/Common7/IDE/ProjectTemplates/CSharp/Web/2052即可,注意要将压缩文件改名,以免覆盖原有的文件。
添加项模板
制作过程与上面一样,要注意的地方是项模板的位置。
C/S项模板的位置:/Common7/IDE/ItemTemplates/CSharp/Code/2052类模板位置;/Common7/IDE/ItemTemplates/CSharp/Windows Forms/2052窗体模板位置
B/S模板位置:/Common7/IDE/ItemTemplates/Web/CSharp/2052,包括类、ASP窗体、WEB服务、用户控件等均在此处。
复制方法与项目复制方法一样。
●
●
参考资料
名称 | 出处 |
创建项目模板 | http://msdn.microsoft.com/zh-cn/library/xkh1wxd8.aspx |
手动创建项目模板 | http://msdn.microsoft.com/zh-cn/library/ms185291.aspx |
替换模板中的参数 | http://msdn.microsoft.com/zh-cn/library/ms185311.aspx |
查找和组织项目模板和项模板 | http://msdn.microsoft.com/zh-cn/library/y3kkate1.aspx |
VSTemplate | http://msdn.microsoft.com/zh-cn/library/31cdwx28(VS.80).aspx |
模板参数 | http://msdn.microsoft.com/zh-cn/library/eehb4faa.aspx |
向模板传递自定义参数 | http://msdn.microsoft.com/zh-cn/library/ms247063.aspx |
http://blog.youkuaiyun.com/qiaozhiwei/article/details/5014664