前文已经提及到我们这个系列主要先讨论项目模板的创建,创建项目模板有两种方法,向导创建,还有就是手工创建。
现在让我们来创建一个简单的项目模板,通过这个简单的例子,一并了解一下两种创建方式的创建过程。
这篇文章先看第一种创建方法,向导创建。
1,模板的创建准备:
模板本质上来自于一个模板源(这里我自己定义了一个概念,表示模板的准备的内容),所以我们要首先做出这样的一个源,假设公司现在有很多Web项目要做,很多项目组开发Web项目第一步,就是要创建项目的多层框架,这些层之间有较复杂的关系,每个层还会引用不同的程序集,如果有一个通用的模板,项目组搭框架不是很轻松?Web开发有很多模式和层次,这个不是此系列的主题,为了例子能够简化并且能帮助我说明这篇文章关注的问题,假设这些项目都需要一个相同的两层简易架构。
先新建一个这样的两层架构的模板源文件,这里称它为模板源,还因为它只是制作模板的第一步,第一步做出来的东西还不叫项目模板,因为Visual Studio 模板机制不认识它。
这个模板由一个Class Library,和一个Web项目组成。
修改好命名空间以适合需要
最后的结构如下
2,使用Visual Studio的“导出模板”向导创建项目模板。
按照“File”->“Export Template”打开向导->选择“Project Template”,打开第一步
从最下方我们可以看到,向导制作项目模板的最大缺点,就是只能对单个Project制作一个模板,不管它的这个限制,我们只看一下生成的东西是什么。所以果断选择DataService这个项目进入下一步。
这些所填的内容项不解释了,因为可以一眼看出来意思。这里的两个勾选框稍微解释一下,第一个表示生成之后自动拷贝到用户模板目录(可以参考前面一篇文章),第二个表示生成好之后自动打开上面的“Output location”的目录,实际上可以自己验证一下,确实如此。
我们可以顺便看研究一下这个DataServiceTemplate.zip,它的名字是我们之前定义的"Template name",并且它是一个标准的ZIP包(其他的压缩格式是不支持的),我们解压这个包,看看里面的内容。
我先给出结论,这个包里有3个部分组成,模板源(DataService.csproj指向的项目,打开它就是我们之前做的模子)+模板元数据文件(MyTemplate.vstemplate)+模板支持文件(两个png图片)。模板元数据文件是核心,用来组织所有其他部分。
这时候,我们打开新建项目向导,发现了我们的模板出现了。同时注意到它的图标和预览图都是我们制作时设置的图片,另外请注意截图中红色箭头标识的一些点,下面的系列中会涉及到这些相关点。
我们用这个项目模板创建一个项目,发现就是我们定义的模板的效果,命名空间,包含的文件,添加的引用等等,我们可以自己逐个验证一下。
3,结论:
1,向导创建模板的方法很简单和直观,很快就能创建出想要的模板,并且部署也很方便快捷,只需要知道一些基本的概念,即第一篇介绍的内容,就可应用到项目中。这里没有介绍制作项模板向导,大家可以尝试一下,同时体验一下两者概念,制作和使用上的区别。
2,向导的方式有个最大的缺点,就是只能做基于单个项目的项目模板,对于基于多个项目的模板,就无能为力了。
3,模板包是一个ZIP包,包含模板源文件,模板元数据文件,模板支持文件三个部分,模板元数据文件用来索引其他所有模板包的内容。
摘自:http://www.ethan-woo.com/post/2011/04/24/First-VisualStudio-Template-By-Wizard.aspx