因此根據了一些簡單的需求,設計了一個可以將功能分散在不同壓縮檔的佈署方式,以下就介紹這個解決方案:
1. 假設現在要開發一個新的功能,新增一個專案選擇Visual C# -> Likol -> Web Feature,並命名為ProductFeature

此專案範本是由空的ASP.NET網站範本修改而來,並加入一個source.webfeature檔案與修改了建置專案的細節.
2. 我在專案中加入了一個Product的目錄,並新增了ListForm NewForm EditForm三個ASPX程式,也就是要用來進行佈署的程式.

3. 選擇source.webfeature並開啟檔案,即可看到佈署的設定界面.

上面的四個欄位就是佈署時的一些資訊,比較重要的是下面的兩個部份
I. Assemblies 代表所要包含的組件檔
II. Files 表示要加入的ASPX或是ASCX的檔案
4. 選擇Add Assembly,於跳出的視窗中選擇Output並確定.

這個動作將會在Assemblies加入一筆資料,並標示Type為Output,也就是會把這個專案編譯出來的組件(DLL)加入佈署中.

5. 另外,當然也可以額外指定其他的組件(DLL)檔案,加入佈署.


6. 選完組件後,就是透過Add File來選擇要加入的檔案,在選擇的視窗中僅可以選擇在專案中的檔案

如果檔案已經加入,則不會顯示出來


7. 設定完成後,直接執行Visual Studio的建置專案,建置完成後,就可以在專案的目錄中找到"_WebFeature"的目錄,裡面以GUID為檔名的檔案就是要進行佈署的檔案.

可以看到剛剛所選擇的檔案都有包含在內.

8. 在佈署的部份,目前是先用一個簡單的Web程式進行佈署,將上述產生的佈署檔案,透過一支ASPX上傳,就可以將相關組件與檔案佈署至Web Application中.


為了整個解決方案可以很容易並順暢,因此在與Visual Studio整合上花了不少時間,主要的部份也就是:
A. Visual Studio 2010 自訂編輯器 - Custom Editor
B. Visual Studio 2010 自訂建置工作項目 - Custom MSBuild Task
實做了這兩項功能,整個流程就大大的不一樣了.
0 意見:
張貼意見