2013-04-05 75 views

回答

0

Visual Studio有兩種類型的Web項目:Web應用程序網站

Web應用程序項目(VS)與VS中的任何其他項目一樣:有一個.csproj或.vbproj文件,其中包含構建設置,包含在項目中的文件以及所有良好的MSBuild。如果你使用相同的語言(VB/C#)有一堆這些文件,那麼主要是將所有文件添加到一個單獨的項目中。如果你有不同的語言,那麼就沒有辦法將它們結合起來,你必須保持單獨的項目或者將一種語言與另一種語言聯繫起來; MSBuild只爲每個項目調用一個編譯器。 (您可以稍後使用ILMerge合併程序集,但仍然必須自行組合所有項目的標記文件。)

網站項目(WSP)有點不同。至於包含文件到項目中,他們只是看文件系統上的內容(而基於MSBuild的項目基本上只有一個包含文件的白名單)。此外,由於WSP不是由MSBuild編譯的,所以可以在單個項目中混合使用不同的語言,但您必須自己對其進行配置(請參閱http://msdn.microsoft.com/en-us/library/ms366714.aspx以瞭解它如何工作)。

假設你只處理一種通用語言的WAP,並且你只是想減少要維護的項目的數量,我想不出一個更好的策略,而不是開始將現有文件添加到統一項目。您可能會遇到以下任何問題:

  1. 每個獨立項目的行爲與其自己的IIS應用程序相似。這對於依賴/ bin文件夾(即任何代碼)的任何內容都很重要,或者使用URI來引用該項目中的內容。這將阻止您爲每個正在移動的子應用程序在您的MasterProject中創建一個文件夾。 VS中真的沒有一個好的設計來解決這個問題,除非有單獨的項目(顯然不能滿足你的需求......)。因此,您可能必須將這些文件添加到相同的根文件夾中。

  2. 任何重複的文件名都必須整理出來。或者,使用web.config,您可能需要合併文件內容。

  3. 對於任何衝突的類名稱,同上。雖然我希望如果你有很多重疊,它大多是重構到一個單獨的庫反正。

+0

謝謝。我編輯了我的問題來澄清。我意識到我不能混合語言,這是一個很好的觀點。 – 2013-04-06 01:12:21

+0

我不確定這是否會回答如何合併項目的問題 – 2013-04-06 01:19:43

+0

我將查看該工具是否有用:http://www.projectmerge.com/index.php – 2013-04-08 01:40:26

相關問題