选择显示字体大小

基于vs.net的自定项目模板研究

项目模板可以帮助开发人员快速重用已经成熟的技术方案,本文对如何在visual studio .net中创建自定义项目模板做了研究,并给出了一种快速、简洁的方法。

  关键词 vs.net;自定义 ;模板

  1 引言

  在实际开发中,软件企业往往希望尽量重用已经积累的成熟技术,并集成到开发人员的工具中。vs.net中提供了不少向导模板类,但如果想建立自定义的向导模板,以往需要编写大量代码,通过创建idtwizard应用程序的方法来实现。实际上,在vs.net中直接修改、替换模板文件便可以轻松解决这个问题。以下解释了该方法的使用原理,并给出了一个具体的例子。

  2 原理

  vs.net向导模板类主要分项目模板及项目项模板两种。选择项目模板时,vs.net会自动生成多个不同类型的项目文件,而选择项目项模板通常只生成一个文件(当存在code-behind文件时会有多个)。这里主要介绍项目项模板的创建方法。研究.net的向导项目文件夹,可以发现有两类重要的文件

  • .vsdir 文件

      该文件定义了向导项目中需显示的项以及在对话框中要显示的属性,诸如:名称,描述,图标,缺省项文件名。对于其中包含的每一各向导项,则通过相应的.vsz文件予以说明。
  • .vsz 文件

      该文件定义了一个com组件名(这个com组件告诉visual studio需要创建什么类型的向导),以及该组件需要接受的参数(比如文件名)。

      这两类文件和对应的组件是创建项目向导所必需的,图1给出了三者之间的一个结构图。


    图1

      因此,我们可以明确:只需要直接修改、替换模板文件就可以方便地创建自定义向导模板。

      2 举例

      为了说明这个方法,以下创建一个名为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文件。我们在projectitems\localprojectitems\ui目录下添加一个mywiz.vsdir文件输入以下内容:

      ..\..\csharpaddmyreportwiz.vsz{fae04ec1-301f-11d3-bf4b-00c04f79efbc}hr纺织业通用报表0提供了纺织行业常用格式报表的制作、打印及数据交换等功能的接口{fae04ec1-301f-11d3-bf4b-00c04f79efbc}45340frmreport.cs

      说明:这里由符号分割成不同的几个属性,第1个是我们之前创建的vsz文件的相对路径,第3项是添加新项对话框的一个简要描述,完整的描述(也显示在对话框中)则列在第5项,第4项是排序的顺序,越小越靠近顶部。由于这些对添加自定义项目项比较重要,所以这里都作了说明。最后一项表明了生成并添加到这个工程的文件格式。这里生成的mywiz.vsdir文件只会显示在我们设定的目录下,要在全局目录中显示,还需要复制这个文件到localprojectitems目录,同时更新相对路径。

      ⑷一旦我们建立了新项目模板的指向,就要使得模板能够在向导中输出。模板信息放置在我们建立的模板类别下。比如vc#\vc#wizards是c#向导所在的地方。该模板的目录结构应该是如图3所示。


    图3

      其中template\1033目录下有一个templates.inf文件,它是要生成模板项的模板文件,这个文件使用向导生成脚本生成向导。下面是一个templates.inf的例子,里面包含一个文件的说明:report1.asmx.一般工程项目在新增对话框中都会制定一个文件,也就是我们在templates.inf文件中所包含的单一文件。当运行时,向导会在模板文件夹中生成一个report1.asmp的文件作为模板。

      ⑸另外,还可以做一些更深入的工作. 例如,需要项目向导输出一个自定义的frm文件以及对应的frm.cs文件,可以复制csharpaddformwiz文件夹,并重命名为csharpaddmywebformwiz,并重复操作1-4。随后,在templates.inf文件中添加另外一个文件。这些过程在这里不再赘述。


  •  


    关键字 本文所属关键字

    相关 与本文相关文章

    分类 所有文章关键字导航

    源码编程相关

    Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

    SQL数据库相关

    My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

    手机无线相关

    3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

    网页设计制作相关

    HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

    网站建设推广相关

    建站经验   网站优化   网站排名   推广   Alexa

    操作系统/服务器相关

    Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

    图形图像多媒体相关

    Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

    标准 网站致力的规范

    Valid CSS!

    无不良内容,无不良广告,无恶意代码

    Valid XHTML 1.0 Transitional

    creativecommons