2013-08-22 58 views
4

我知道我應該搜索這樣的話題,但我找不到明確的文章。工作區和(連接到服務器)解決方案有什麼區別?

我不明白的部分是,有什麼區別,如果我只是讓我的計算機上的兩個解決方案映射到相同的TFS文件夾,或者如果我創建兩個工作區?在某種程度上,我明白解決方案和TFS工作區之間存在差異,因爲解決方案可以完全是本地的,不能連接到任何版本控制。但是我創建的工作空間在我的本地計算機上總是有解決方案嗎?如果是這樣,我真的不明白爲什麼我應該有這樣的工作空間。

另一件事我不明白的是,當我打開VS一個解決方案,我還可以切換到另一個工作區(它總是在,如果我剛纔的問題是肯定的另一種解決方案)的團隊資源管理器和解決方案管理器。這背後的想法是什麼?我發現這樣的操作令人困惑。

BTW我其實不知道工作區是否是我要找的東西。我想要做的是:我在同一個開發分支的同一個軟件項目上有多個任務。所以我希望能夠在一項任務中工作而不影響其他正在進行的任務。以前,我不得不創建一個新的解決方案(當我需要使用不同的分支時,我實際上是這樣做的),或者只是簡單地將更改擱置到一個分配 - >撤消掛起的更改 - >更改其他分配。我被告知工作區是解決方案,但在閱讀了一些文章後,我仍然不知道如何使用它。

+0

這裏我在2017年(將近2018年),我仍然很不確定用你描述的方式處理VS中任務管理的最佳工作流程。我發現這個問題是因爲我一直在尋找,並嘗試使用工作區功能無濟於事。 我不知道是否部分問題是由於我有義務使用IIS Express,但在我看來,我無法在單獨的工作區中處理兩個任務,而在本地調試瀏覽器中的這些單獨的更改集,而無需切換整個解決方案。它是基於分支工作流程的時代,我不相信我仍然需要擱置。 – Esten

+0

如果您發現一個工作流程可以解決您發佈時遇到的問題,我很想聽聽您如何在多組待定更改之間本地管理工作。 – Esten

回答

0

甲TFS工作空間定義了什麼改變控制文件和文件夾,並映射到本地文件和文件夾(以及因此是特定於用戶和機器的組合)。

一個VS解決方案定義項目的集合,它們之間的相互依存關係的工作作爲一個單元(通常是創建一個或多個execut5able文件和庫單一軟件產品)。

這些概念是正交的。工作區可以包含每個文件夾中的多個文件夾。

除非你希望能夠一次,你需要檢查分開,我會強烈建議避免多個工作區,直到您更舒適的變更控制多個不同的事情工作。儘管多個工作空間對於某些工作方式來說是一種強大的方法,但確實增加了複雜性。

同樣,我會建議避免擁有包含多個解決方案的單個文件夾 - 這不是VS默認運行的方式,需要仔細管理以避免問題。

+0

感謝您的回覆。我很抱歉,但我不確定我在你的答案中瞭解「文件夾」的概念。 「一個工作區可以在一個單獨的文件夾中包含多個文件夾」。 「同樣,我會建議避免讓一個包含多個解決方案的文件夾」。這是否意味着本地計算機的「文件夾」(如果是這樣,我不明白你描述的場景),還是它在TFS/VS術語中有一些特殊含義?事實上,「能夠一次處理多種不同的事情,你需要單獨檢查」正是我想要做的 – tete

+0

我想我可以通過將多個本地解決方案映射到相同的TFS文件夾來實現這一點,每個對應於我擁有的一個任務。但我只是不知道工作區的用途,如果我可以在不知道工作區 – tete

+0

@tete本地文件夾==目錄的存在的情況下執行我描述的操作。在TFS中,它是一個數據結構(通過工作區)映射到本地目錄。一個文件夾中的多個解決方案(即一個目錄中的多個'.sln'文件)可以實現,但不能在VS中直接創建它們:這強烈表明它們可能無法一致地工作。 – Richard

0

這些現在都變得有點老了(因爲他們不談論本地或服務器工作區和公共或私人設置),但我寫了一個有關工作區的情侶博客文章,這可能有助於:

  1. Workspace 101: An introduction to TFS Workspaces
  2. Workspace 101: Working folder mappings

此外,Professional Team Foundation Server書的版本控制章節應該幫助。

+0

感謝您的文章。所以我可以肯定地說,如果我想同時執行多任務,並且不希望一項任務的更改影響其他任務,那麼我應該有多個工作空間?在這種情況下,一個解決方案對應於一個工作區?順便說一句,我發現它非常令人困惑,我可以打開一個解決方案(工作區),但對另一個工作區執行一些操作(而不是代碼修改,但是例如文件操作)。在某些時候,我明白,即使使用TFS,解決方案和工作空間也不意味着同樣的事情。但是修改錯誤的工作區仍然很容易出錯。 – tete

相關問題