2008-11-12 139 views
27

我已經看到了很多不同的主題,所以我想如果有一個這樣的首選方式。有沒有Visual Studio項目/解決方案結構的最佳實踐?

關於如何針對相同解決方案的多個解決方案設置Visual Studio項目和解決方案,是否有任何最佳實踐?

例如: 假設我有一個任務需要一個Web應用程序,一個控制檯應用程序和一個共享業務邏輯庫。

在我職業生涯的某個時候,我已經看到了1,2和3種解決方案中的這種情況。這是一個簡單的例子;但是,如果項目數量增長會怎樣?是否有一條線保持一條或將它分開?

回答

1

我喜歡在解決方案中包含針對特定任務的所有項目。所以根據你提到的例子,我會有一個包含屬於我被要求做的解決方案的三個項目的解決方案。這樣可以讓所有元素一起完成一項任務,我發現這簡化了包含解決手頭任務所需的其他元素。

+0

我想最好的實踐,取決於你發現最簡單的做法 – CheGueVerra 2008-11-12 18:54:18

4

您可以擁有multipe解決方案,並且每個解決方案都可以引用它關心的項目。擴展你的例子,你的共享業務邏輯庫可能有一個相應的單元測試庫。這兩個項目可以包含在一個解決方案中。同時,您可能有另一個包含您提到的三個項目的解決方案,但在這種情況下,單元測試庫不包含在內。

6

解決方案適用於特定情況下的開發人員。項目(C-Sharp的.CSPROJ)是真正編譯的地方。

理論上,如果有4個不同的項目,那麼開發人員可能希望將這些項目組合爲24個不同的組合。

如果你把一切都在一個項目層面上,你將不必擔心開發商是如何安排自己的.sln文件

+4

我在TechEd今年問了一個微軟的'專家',他基本上同意你在這裏說的話,他主張不添加.sln文件來源完全控制,只有.csproj文件。每個開發人員都會選擇適合特定任務的組合。 – rohancragg 2008-12-18 14:43:40

+5

這有助於考慮,但對我來說似乎很奇怪。當然,如果多個開發人員正在研究單個Windows窗體應用程序,他們將希望以相同的方式構建它。你可以在源代碼控制中總是有多個.sln文件,我想。 – 2014-02-23 02:58:11

2

我的解決方案通常包括:

  • Web應用程序項目
    • '通用' 文件夾基地&通用助手類
    • '包含' 文件夾
      • '風格' 文件夾
      • '腳本'文件夾
      • '圖片' 文件夾
    • '用戶控件' 文件夾
  • Web服務項目
  • Web框架項目
  • 業務層項目
  • 業務框架項目
  • 數據訪問項目
相關問題