Visual Studio 中建立帶有嚮導的項目模板

來源:互聯網
上載者:User
對於測試開發來說,建立新工程的次數要遠遠高於專職開發人員。由於每次建立一個測試工程都要例行公事的設定一大堆屬性,例行公事的寫一些同樣的代碼,非常耗時。因此打算通過建立項目模板來達到自己完成的目的。比如,在Visual Stuido中建立工程的時候,可以直接選擇我們建立好的“GTest Project”,然後會彈出一個嚮導對話方塊,再設定一些屬性,然後,一個可以直接使用的GTest工程就建立好了。
梳理了一下,我們需要的功能主要有兩個:
1.項目模板(project template)
2.設定嚮導(project wizard)

Vistual Studio中有一個非常方便的功能,就是可以直接將某個工程匯出為模板(菜單“File-Export Template”),匯出的檔案是一個zip壓縮檔,放在My Documents\Visual Studio 2008\Templates\ProjectTemplates\中即可。如果需要設定成安裝程式,只需要將其解壓,然後添加一個.vscontent檔案,然後再壓縮,然後將壓縮後的檔案尾碼改為.vsi。
.vscontent檔案如下:<VSContent xmlns="http://schemas.microsoft.com/developer/vscontent/2005">
    <Content>
        <FileName>MyProjectTemplate.zip</FileName>
        <DisplayName>Sample Project Template</DisplayName>
        <Description>A project template created for this example.</Description>
        <FileContentType>VSTemplate</FileContentType>
        <ContentVersion>1.0</ContentVersion>
        <Attributes>
            <Attribute name="ProjectType" value="Visual Basic"/>
            <Attribute name="ProjectSubType" value=""/>
            <Attribute name="TemplateType" value="Project"/>
        </Attributes>
    </Content>
</VSContent>

這樣,第一步要實現的項目模板就非常輕鬆的實現了。接下來是要實現一個設定嚮導。要實現一個設定嚮導,需要做的事情是:
1.建立一個Class Lirary的嚮導工程。
2.添加.NET引用:“Microsoft.VisualStudio.TemplateWizardInterface”和“EnvDTE”
3.建立一個Windows Form(設定嚮導),添加一些自己想要的控制項。並保證將設定的屬效能夠通過外部擷取。
4.建立一個類,實現IWizard介面。主要實現RunStarted方法。在RunStarted方法中,將前面的Windows Form建立出來,然後擷取設定的屬性,添加到replacementsDictionary中。比如:replacementsDictionary.Add("$MyName$", myName);
5.建立一個工程,作為模板。在該工程裡,可以通過使用"$MyName$"達到替換之前設定的myName屬性。
6.將嚮導工程編譯出來的dll安裝到全域的Assembly緩衝中。一般通過:gacutil -i xxx.dll來做。
7.匯出之前建立的模板工程,解壓zip檔案,開啟.vstemplate檔案,添加對嚮導DLL的引用:<WizardExtension>
    <Assembly>MyTemplateWizardLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=345b65148ade810f, processorArchitecture=MSIL</Assembly>
    <FullClassName>MyTemplateWizardLib.MyWizardLib</FullClassName>
</WizardExtension>

8.再壓縮,然後將zip檔案放置到My Documents\Visual Studio 2008\Templates\ProjectTemplates\即可。

這樣,一個帶有設定嚮導的項目模板就建立好了。比如,我可以在嚮導中讓使用者選擇需要添加的lib引用,或是dll引用,然後,我自動將其選擇的引用設定到建立的工程中,如果是gtest工程,我將在模板中自動寫好其中的main函數中例行公事的幾句話。總之,幾乎可以定製所有我需要預先定製的內容,從而提高寫代碼的效率。

我們上面記錄的方法比較籠統,如果之前沒有接觸的話可能會比較朦朧。下面的地址中提供了一個視頻教學,可能會更加容易理解:
http://msdn.microsoft.com/en-us/vstudio/bb669054.aspx
更多的相關資料:
How to: Use Wizards with Project Templates
How to: Package Community Components to Use the Visual Studio Content Installer
Visual Studio Templates
Create Reusable Project And Item Templates For Your Development Team
製作Visual Studio項目模板-阿不

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.