xmlns="
Mytemplate
Abasicstarterkit
TemplateIcon.ico
CSharp
Form1.cs
Form1.Designer.cs
Program.cs
Properties\AssemblyInfo.cs
Properties\Resources.resx
Properties\Resources.Designer.cs
Properties\Settings.settings
Properties\Settings.Designer.cs
3.2.1VSTemplate元素
VSTemplate元素是.vstemplate文件的根元素,其属性如下:
属性
说明
Type
将模板标识为项目模板或项模板。
此属性的值可以为Project或Item
Version
指定模板的版本号。
VisualStudio2005中的模板的Version属性值为2.0.0
子元素
元素
说明
TemplateData
必选元素。
指定将此模板分类的数据,并定义此模板在“新建项目”或“添加新项”对话框中的显示方式。
TemplateContent
必选元素。
指定模板的内容。
WizardExtension
可选的元素
WizardData
可选的元素
3.2.2模板参数
所有模板都支持在对模板进行实例化时进行参数替换,以替换关键参数,如类名和命名空间。
当用户在“新建项目”或“添加新项”对话框中单击“确定”时,这些参数将由后台运行的模板向导替换。
模板参数以$参数$格式进行声明。
如:
$safeprojectname$。
模板的保留参数如下表:
参数
说明
clrversion
公共语言运行库(CLR)的当前版本。
GUID[1-10]
用于替换项目文件中的项目GUID的GUID。
最多可以指定10个唯一的GUID(例如,guid1))。
itemname
用户在添加新项对话框中提供的名称。
machinename
当前的计算机名称(例如,Computer01)
projectname
用户在新建项目对话框中提供的名称。
registeredorganization
HKLM\Software\Microsoft\WindowsNT\CurrentVersion\RegisteredOrganization中的注册表项值
rootnamespace
当前项目的根命名空间。
此参数用于替换正向项目中添加的项中的命名空间
safeitemname
用户在“添加新项”对话框中提供的名称,名称中移除了所有不安全的字符和空格
safeprojectname
用户在“新建项目”对话框中提供的名称,名称中移除了所有不安全的字符和空格。
time
以DD/MM/YYYY00:
00:
00格式表示的当前时间
userdomain
当前的用户域
username
当前的用户名
webnamespace
当前网站的名称。
在Web窗体模板中使用此参数以确保类名称是唯一的。
如果网站位于Web服务器的根目录下,则此模板参数将解析为Web服务器的根目录
year
以YYYY格式表示的当前年份
4添加各模板
上面的一些知识点可能会有些凌乱,但都是在后文中会用到的,所以上面的要了解下。
添加模板分为两类,一类是新建项目时的项目模板,一类是在项目中添加新项时的项模板。
其步骤如下:
⏹制作模板
⏹将模板COPY到指定位置
⏹重设VS环境
4.1添加项目模板
此处将以做一个C/S的WINFORM模板来说明添加一个模板的操作方法,其他项目模板类似,只有路径上有所不同,路径不同的会给出相关路径。
4.1.1制作模板
MICRO提供了制作模板的方法,
⏹将\Common7\IDE\ProjectTemplates\CSharp\Windows\2052下的WindowsApplication.zip文件COPY出来。
⏹解压,如图1
图1windowsApplication.zip
⏹修改form1,修改前如图2,修改后如图3,注意图中红色的位置即3.2.2中提到的模板参数
图2form1.cs修改前
图3form1.cs修改后
⏹同样修改Program.CS,assemblyinfo.cs文件
⏹修改csWindowsApplication.vstemplate,如图4
图4csWindowsApplication.vstemplate
⏹修改windowsapplication.csproj,因为我修改了program.c的文件名,才需修改此文件,如无修改文件名则不需修改此文件。
⏹将所有文件压缩为WindowsApplication.zip,注意压缩时不能加文件夹,如图5
图5压缩文件示意图
至此,WINFORM的项目模板已做好。
4.1.2将模板COPY到指定位置
我的做法是将\Common7\IDE\ProjectTemplates\CSharp\Windows下的所有内容COPY到一个新的文件夹,如COMPWINDOWS,删除COMPWINDOWS\2052下的所有内容,将上文生成的模板放在2052目录下,将COMPWINDOWSCOPY到\Common7\IDE\ProjectTemplates\CSharp\
4.1.3重设VS环境
打开VisualStudio2008命令行工具,执行devenv/setup,其路径如下图:
图6:
VISUALSTUDIO2008工具打开方式
你可以通过这样的方法根据需要做自己的模板(WINFORM程序)。
看一下效果:
打开VS,新建、新建项目,出现如下图:
图7:
最终效果
4.1.4添加B/S项目模板
上文是添加C/S项目模板的方法,添加B/S项目模板的方法与其类似,有区别的地方在于COPY模板的地方,B/S将生成的模板直接COPY到\Common7\IDE\ProjectTemplates\CSharp\Web\2052即可,注意要将压缩文件改名,以免覆盖原有的文件。
4.2添加项模板
制作过程与4.1同,要注意的地方是项模板的位置。
C/S项模板的位置:
\Common7\IDE\ItemTemplates\CSharp\Code\2052类模板位置;\Common7\IDE\ItemTemplates\CSharp\WindowsForms\2052窗体模板位置
B/S模板位置:
\Common7\IDE\ItemTemplates\Web\CSharp\2052,包括类、ASP窗体、WEB服务、用户控件等均在此处。
COPY的方式同4.1.4
最终的效果图:
图8:
添加新项效果图
图9:
新加类的效果图
5结束语
至此,所有的添加工作完成,VS模板可以自定义参数,但由于在此处没有太大的用处,故未使用。
值得注意的地方为:
⏹要注意压缩为ZIP。
⏹如果是英文版的话,要将文中的2502目录改为1033。
(此条未测试,是我估计的)
6参考资料
名称
出处
创建项目模板
手动创建项目模板
替换模板中的参数
查找和组织项目模板和项模板
VSTemplate元素(VisualStudio模板)
模板参数
向模板传递自定义参数
| 作者: 出处: 本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |