3

我有兩個單獨的解決方案,SolutionA和SolutionB。在VS2010中調試多個解決方案

SolutionA 
    ProjectA1 
     References: ProjectB1.dll, ProjectB2.dll 
    ProjectA2 

SolutionB 
    ProjectB1 
    ProjectB2 

我想要做的就是運行SolutionA調試程序,但隨後附上第二個IDE調試SolutionB以及(通過ProjectA1踏進:SolutionA如下輸出引用了SolutionB ProjectB1例如)。

到目前爲止,我設法做到這一點的唯一方法是將ProjectB1添加到SolutionA中 - 這迫使您檢查TFS中的解決方案,並且似乎沒有將其識別爲用於調試目的的相同項目。有沒有辦法做到這一點?

+0

使用IDE的第二個實例調試解決方案B的動機是什麼?爲什麼不在同一個環境中進行調試? – 2012-03-26 15:58:17

+0

您無法在VS的單個實例中調試兩個「解決方案」;一次只能有一個開放的解決方案。然而,他想要做的(在解決方案A中打開項目B)應該是有效的。 – 2012-03-26 16:14:38

回答

1

我們經常遇到這個問題,我們的大型項目包括導出庫。你採取的方法是正確的,應該工作。

從源代碼控制問題開始:在執行此操作時,我看到了TFS問題,因爲項目不共享通用根文件夾 - TFS不喜歡何時項目文件不在解決方案文件的位置。它可能會嘗試從項目B1中去除源代碼管理綁定。我發現擁有單獨的工作空間,其中項目B1不在解決方案A的當前工作空間中,在這裏有很多幫助。 (只要注意不要在包含Project B1的情況下檢查你的解決方案,或者其他獲得解決方案的人可能會遇到更奇怪的錯誤。)

只要不被認爲是用於調試目的的相同項目,請確保引用正確的配置/體系結構文件,它們是通過調試打開的,並且pdb文件可用。只要源文件與構建dll時位於相同的文件夾位置,VS應該可以找到它們。你甚至不需要該項目在解決方案中工作,VS會找到源文件,只要它們可用。然而,將項目添加到解決方案中可以提供額外的導航,智能感知等功能,所以我一定會走這條路線。

最糟糕的情況是,嘗試將項目A1引用臨時更改爲項目級引用。再次,不要以這種方式檢查您的解決方案,但它是一種快速調試過程正常工作的方法。