国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

基于VS.NET的自定項目模板研究

2019-11-17 04:53:44
字體:
來源:轉載
供稿:網友
摘 要 項目模板可以幫助開發人員快速重用已經成熟的技術方案,本文對如何在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給出了三者之間的一個結構圖。

    基于VS.NET的自定項目模板研究(圖一)
    圖1

      因此,我們可以明確:只需要直接修改、替換模板文件就可以方便地創建自定義向導模板。

      2 舉例

      為了說明這個方法,以下創建一個名為MyReport的項目向導模板, 并且添加一個FrmReport.cs文件。創建后如圖2所示。

    基于VS.NET的自定項目模板研究(圖二)
    圖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所示。

    基于VS.NET的自定項目模板研究(圖三)
    圖3

      其中Template/1033目錄下有一個templates.inf文件,它是要生成模板項的模板文件,這個文件使用向導生成腳本生成向導。下面是一個templates.inf的例子,里面包含一個文件的說明:Report1.asmx.一般工程項目在新增對話框中都會制定一個文件,也就是我們在templates.inf文件中所包含的單一文件。當運行時,向導會在模板文件夾中生成一個report1.asmp的文件作為模板。

      ⑸另外,還可以做一些更深入的工作. 例如,需要項目向導輸出一個自定義的frm文件以及對應的frm.cs文件,可以復制CSharpAddFormWiz文件夾,并重命名為CSharpAddMyWebFormWiz,并重復操作1-4。隨后,在templates.inf文件中添加另外一個文件。
    這些過程在這里不再贅述。



  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 鲜城| 安溪县| 沂源县| 兰考县| 白水县| 佳木斯市| 景德镇市| 深圳市| 太谷县| 明水县| 台州市| 祁东县| 岑溪市| 理塘县| 福清市| 永定县| 江华| 江北区| 固始县| 吴桥县| 蕉岭县| 手游| 达州市| 岑巩县| 安阳市| 东兴市| 乐陵市| 揭阳市| 林周县| 西宁市| 专栏| 绥德县| 沙洋县| 黎城县| 纳雍县| 时尚| 综艺| 和田市| 丹东市| 涡阳县| 邢台市|