C#自定义项目模板(即VC自定义向导)的两种方法
来源:互联网 发布:pid控制原理及编程方法 编辑:程序博客网 时间:2024/04/30 20:01
【方法1】举例介绍 Visual Studio 项目模板制作
项目模板的创建非常简单,我们只需要将希望作为项目模板的工程,导出即可,在Visual Studio 执行【文件(F)/导出模板(E)...】,导出项目模板对话框。
如当前解决方案中有多个工程,可通过下拦框选择希望被作为模板的项目,选择“Project template ” 进入下一步。在这里,可以选择是否自动将模板导入到Visual Studio ,还可以选择是否弹出显示导出的项目模板,点击完成即可完成项目模板的导出,并且此时,它会为我们自动导入到Visual Studio 中,并且会弹出导出的项目模板目录,它是一个zip 压缩文件。此时,我们再打开一个Visual Studio ,新建项目时即可使用刚刚导出的模板。
在这里,你可以选择是否自动将模板导入到Visual Studio ,还可以选择是否弹出显示导出的项目模板,点击完成即可完成项目模板的导出,并且此时,它会为我们自动导入到Visual Studio 中,并且会弹出导出的项目模板目录,它是一个zip 压缩文件。此时,我们再打开一个Visual Studio ,新建项目时即可使用刚刚导出的模板。
到些为止,项目模板的创建已经完成。但是还有一点麻烦的是,每次我们要安装此模板时,需要手工将该压缩文件拷贝到项目模板目录,使用起来不是很方便。我们希望能像安装文件那样,双击即可完成安装,不需要手工拷贝文件。此时我们还需要一个文件,.vscontent ,来制作.vsi 安装文件。我们在刚刚导出的项目模板目录中新建名为:SampleProjectTemplate.vscontent 的xml 文件。它的内容如下:
以上的属性配置就不多介绍了,需要说明的是ProjectSubType 属性是指定将该模板安装在Web 的项目列表当中。将项目模板的压缩文件和SampleProjectTemplate.vscontent 压缩成一个ZIP 文件,并且修改后缀名为:.vsi 。 然后你可以看到的它的图标发生面什么变化了,双击该文件,我们会得到这样的一个安装向导界面。这就是我们需要的一个项目模板安装文件,直接完成,就可以完成项目模板的安装和导入。
【方法2】基于VS.NET的自定项目模板研究
作者:张国锋 礼攀 来源:计算机与信息技术
引言
在实际开发中,软件企业往往希望尽量重用已经积累的成熟技术,并集成到开发人员的工具中。VS.NET中提供了不少向导模板类,但如果想建立自定义的向导模板,以往需要编写大量代码,通过创建IDTWizard应用程序的方法来实现。实际上,在VS.NET中直接修改、替换模板文件便可以轻松解决这个问题。以下解释了该方法的使用原理,并给出了一个具体的例子。
原理
VS.NET向导模板类主要分项目模板及项目项模板两种。选择项目模板时,VS.NET会自动生成多个不同类型的项目文件,而选择项目项模板通常只生成一个文件(当存在code-behind文件时会有多个)。这里主要介绍项目项模板的创建方法。研究.NET的向导项目文件夹,可以发现有两类重要的文件
.vsdir 文件
该文件定义了向导项目中需显示的项以及在对话框中要显示的属性,诸如:名称,描述,图标,缺省项文件名。对于其中包含的每一各向导项,则通过相应的.vsz文件予以说明。
.vsz 文件
该文件定义了一个COM组件名(这个COM组件告诉Visual Studio需要创建什么类型的向导),以及该组件需要接受的参数(比如文件名)。
这两类文件和对应的组件是创建项目向导所必需的,图1给出了三者之间的一个结构图。
图1
因此,我们可以明确:只需要直接修改、替换模板文件就可以方便地创建自定义向导模板。
举例
为了说明这个方法,以下创建一个名为MyReport的项目向导模板, 并且添加一个FrmReport.cs文件。创建后如图2所示。
图2
⑴VS.NET安装目录下,找到所要添加的项目模板类目录,如VC#CSharpProjectItems是c#项目模板所在的目录。
⑵建一个.vsz文件以设置项目模板向导,如CSharpAddMyReportWiz.vsz,输入以下内容:
VSWIZARD 7.0
Wizard=VsWizard.VsWizardEngine
Param="WIZARD_NAME = CSharpAddMyReportWiz"
Param="WIZARD_UI = FALSE"
Param="PROJECT_TYPE = CSPROJ"
⑶添加新项对话框中的项模板层次结构是依照ProjectItems目录而定,选择我们要添加模板的目录位置,在这个目录下添加一个.vsdir文件,使其关联我们之前创建的vsz文件。我们在ProjectItemsLocalProjectItemsUI目录下添加一个mywiz.vsdir文件输入以下内容:
....CSharpAddMyReportWiz.vsz||HR纺织业通用报表|0|提供了纺织行业常用格式报表的制作、打印及数据交换等功能的接口||4534|0|FrmReport.cs
说明:这里由|符号分割成不同的几个属性,第1个是我们之前创建的vsz文件的相对路径,第3项是添加新项对话框的一个简要描述,完整的描述(也显示在对话框中)则列在第5项,第4项是排序的顺序,越小越靠近顶部。由于这些对添加自定义项目项比较重要,所以这里都作了说明。最后一项表明了生成并添加到这个工程的文件格式。这里生成的mywiz.vsdir文件只会显示在我们设定的目录下,要在全局目录中显示,还需要复制这个文件到LocalProjectItems目录,同时更新相对路径。
⑷一旦我们建立了新项目模板的指向,就要使得模板能够在向导中输出。模板信息放置在我们建立的模板类别下。比如VC#VC#Wizards是C#向导所在的地方。该模板的目录结构应该是如图3所示。
图3
其中Template33目录下有一个templates.inf文件,它是要生成模板项的模板文件,这个文件使用向导生成脚本生成向导。下面是一个templates.inf的例子,里面包含一个文件的说明:Report1.asmx.一般工程项目在新增对话框中都会制定一个文件,也就是我们在templates.inf文件中所包含的单一文件。当运行时,向导会在模板文件夹中生成一个report1.asmp的文件作为模板。
⑸另外,还可以做一些更深入的工作. 例如,需要项目向导输出一个自定义的frm文件以及对应的frm.cs文件,可以复制CSharpAddFormWiz文件夹,并重命名为CSharpAddMyWebFormWiz,并重复操作1-4。随后,在templates.inf文件中添加另外一个文件。这些过程在这里不再赘述。
- C#自定义项目模板(即VC自定义向导)的两种方法
- C#自定义项目模板(即VC自定义向导)的两种方法
- 为VS制作自定义项目模板向导
- VC++ 自定义向导(如何生成,修改,调试自定义向导)
- VC自定义向导编写
- 使用标准导出模板向导创建自定义项目模板
- VC对话框项目-自定义消息的方法
- C# winForm 自定义鼠标样式的两种方法
- [转]C# winForm 自定义鼠标样式的两种方法
- VC6自定义向导生成模板
- 自定义ADT创建项目向导
- 关于VC++中,两种自定义消息的发送与接收的方法实现进行说明。
- 关于VC++中,两种自定义消息的发送与接收的方法实现进行说明。
- 关于VC++中,两种自定义消息的发送与接收的方法实现进行说明
- 关于VC++中,两种自定义消息的发送与接收的方法实现进行说明。
- 关于VC++中,两种自定义消息的发送与接收的方法实现进行说明
- 两种使用自定义UITableViewCell的方法
- Qt自定义控件的两种方法
- ARM 汇编中跳转指令
- Office技巧--怎样清除Outlook邮件地址 在word里换页
- Cookies和Session(三)--SessionState
- POJ 2485-Highways 最小生成树Prim算法
- Swing与多线程-小结
- C#自定义项目模板(即VC自定义向导)的两种方法
- asp.net表单提交方法GET/POST
- linux压缩命令小结
- tinymce编辑器的光标位置插入内容时,光标丢失问题解决办法
- 如何避免打开键盘或横竖屏切换,active重启,处理界面的延迟动画
- Vector
- VC调试手段
- android中TextView的文字实现动态效果,走马灯效果,闪烁效果
- CString