这段时间一真在进行公司应用框架的开发,到现在为止,项目创建工作已经基本完成,现在对前一段时间进行项目模板、项模板整理开发的工作做一个小结:
一、项目模板制作
第一步项目模板整理:对公司现有项目进行归纳整理,整理原则是,共性部分全部保留,去掉所有个性部分,最后保留框架主干。
第二步项目模板制作:制作过程如下:
1、在Visual Studio 中找到:File >> Export Template
2、如果当前解决方案中有多个工程,我们可能通过下拦框选择希望被作为模板的项目,选择“Project template ” 进入下一步:
3、在这里,你可以选择是否自动将模板导入到Visual Studio ,还可以选择是否弹出显示导出的项目模板,点击完成即可完成项目模板的导出,并且此时,它会为我们自动导入到Visual Studio 中,并且会弹出导出的项目模板目录,它是一个zip 压缩文件。
第三步项目模板引导工具开发:创建一个类库项目,实现 实现IWizard接口
注意:必须是强名称程序集
过程如下:
1.新建一个Class Lirary的向导工程。
2.添加.NET引用:“Microsoft.VisualStudio.TemplateWizardInterface”和“EnvDTE”
3.新建一个Windows Form(设置向导),添加一些自己想要的控件。并保证将设置的属性能够通过外部获取。
4.新建一个类,实现IWizard接口。主要实现RunStarted方法。在RunStarted方法中,将前面的Windows Form创建出来,然后获取设置的属性,添加到replacementsDictionary中。比如:replacementsDictionary.Add("$MyName$", myName);
5.新建一个工程,作为模板。在该工程里,可以通过使用"$MyName$"达到替换之前设置的myName属性。
6.将向导工程编译出来的dll安装到全局的Assembly缓存中。一般通过:gacutil -i xxx.dll来做。
7.导出之前创建的模板工程,解压zip文件,打开.vstemplate文件,添加对向导DLL的引用:
< Assembly > MyTemplateWizardLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=345b65148ade810f, processorArchitecture=MSIL </ Assembly >
< FullClassName > MyTemplateWizardLib.MyWizardLib </ FullClassName >
</ WizardExtension >
8.再压缩,
安装程序制作
新建一个.vscontent文件,.vscontent文件如下:
< Content >
< FileName > MyProjectTemplate.zip </ FileName >
< DisplayName > Sample Project Template </ DisplayName >
< Description > A project template created for this example. </ Description >
< FileContentType > VSTemplate </ FileContentType >
< ContentVersion > 1.0 </ ContentVersion >
< Attributes >
< Attribute name ="ProjectType" value ="Visual Basic" />
< Attribute name ="ProjectSubType" value ="" />
< Attribute name ="TemplateType" value ="Project" />
</ Attributes >
</ Content >
</ VSContent >