基于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文件。我们在ProjectItems/LocalProjectItems/UI目录下添加一个mywiz.vsdir文件输入以下内容:

  ../../CSharpAddMyReportWiz.vsz|{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}|HR纺织业通用报表|0|提供了纺织行业常用格式报表的制作、打印及数据交换等功能的接口|{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}|4534|0|FrmReport.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文件中添加另外一个文件。这些过程在这里不再赘述。

转贴自:http://dev.yesky.com/msdn/350/2387350.shtml?324

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: .NET 项目报价模板是一个包含有关项目成本、工时和资源需求的文档,用于向客户提供项目的预估报价。以下是一个常见的.NET项目报价模板的示例: 1. 项目概况:在此部分,简要概述项目的目标、规模和所需技术。 2. 项目团队:列出项目所需的开发人员、测试人员和项目经理等相关角色,并说明他们的工作职责。 3. 工时估算:根据项目的复杂性和规模,估算完成项目所需的总工时。这可以通过分析项目需求、功能列表和技术细节来确定。 4. 资源需求:列出完成项目所需的硬件、软件和其他技术资源,并根据市场行情或供应商报价估算其成本。 5. 开发阶段:将整个项目划分为各个开发阶段,例如需求分析、设计、编码、测试和部署。对于每个阶段,提供预计完成时间和相关成本。 6. 风险评估:评估项目中可能出现的风险和挑战,并列出应对措施以及相关成本。 7. 变更管理:说明如何处理项目中可能出现的变更请求,并估算可能的成本和时间影响。 8. 合同条款:包括项目报价有效期、付款条件、服务保障和项目交付要求等合同条款。 9. 总计:根据以上信息计算项目总成本,并将其呈现给客户。 .NET项目报价模板的目的是为客户提供一个透明和详细的项目成本估算,使客户了解项目的开发和实施过程,以及所需资源和成本。这样可以确保项目在合理的范围内进行规划和交付,并为双方提供一个清晰的合同基础。 ### 回答2: .NET项目报价模板是为了方便开发团队或者公司进行项目报价而设计的模板。这种模板可以根据具体的项目需求和项目规模来进行定制,通常包含以下几个方面的内容: 1.项目基本信息:包括项目名称、项目编号、客户信息等。 2.项目概述:简要描述项目的目标和功能,以及实现这些目标所需的技术和资源。 3.工作范围和任务分解:详细列出项目的各个阶段和任务,并对每个任务的工作量、时间和人员需求进行估计。 4.人员资源和费用预算:列出项目所需的开发人员、测试人员和其他相关岗位的工作量和费用,并计算出总体费用预算。 5.项目进度计划:绘制一个项目时间轴,显示项目的各个阶段、里程碑和交付物目标,以及项目完成的预期日期。 6.风险评估:评估项目中可能出现的风险和问题,并列出应对方案和预算。 7.合同条款:包括支付方式、合同期限、维护和支持条款等。 .NET项目报价模板的优点是可以为开发团队提供一个系统化、标准化的报价流程,提高报价的准确性和一致性。同时,它也可以节省时间和精力,避免遗漏关键信息。当然,使用模板时需要根据具体情况进行修改和调整,使其更符合项目的实际需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值