2

當我在Visual Studio 2008中打開編譯項目(SHIFT + F6)時,Visual Studio總是首先檢查引用的項目/庫。這是可以理解的,因爲它們必須首先編譯,但是現在我恰好花費了大部分時間只積極地使用頂級項目(這是一個涉及多個庫的ASP.NET應用程序),並且引用的庫正在那裏並且不需要每次都檢查。只編譯當前項目而不檢查引用的項目

當我進行完全重建時,大約需要15秒(在預熱機器上)。當我在ASP.NET項目中進行更改時,Visual Studio只花費大約10秒鐘的時間來檢查引用的庫。

有沒有辦法「告訴」Visual Studio:「請相信我,我知道引用的庫在那裏,不檢查它們」?在這種情況下,如果我的假設是錯誤的,我會很好地處理編譯錯誤。

注意:我懷疑C/C++開發人員可能會因此而感到好笑,因爲他們通常會在幾分鐘內測量編譯時間,並且通常會以小時爲單位。另一方面,在C/C++中,只能編譯一個文件。

回答

2

您可以編譯整個解決方案,然後卸載庫項目(解決方案資源管理器中的項目上的右鍵菜單)。

+0

令人驚歎的是,這實際上有效!我從來沒有猜到。我通常會卸載我不需要的庫,但我一直在努力保留被引用的庫。 – 2009-11-26 09:50:20

7

右鍵單擊該解決方案,選擇屬性。

在配置屬性 - >配置下,您可以選擇應構建哪些項目。

您可以關閉您不想構建的項目。這是一個更持久的解決方案,稍後可能會造成一些麻煩,當您對其他項目進行更改並忘記重新編譯/切換構建時。

對不起,我忘了,我在宏IDE

Sub SetAllCompile() 
     Dim scs As EnvDTE.SolutionContexts = DTE.Solution.SolutionBuild.ActiveConfiguration.SolutionContexts 
     Dim sc As EnvDTE.SolutionContext 
     For Each sc In scs 
      sc.ShouldBuild = True 
     Next 
    End Sub 

Sub SetNoneCompile() 
    Dim scs As EnvDTE.SolutionContexts = DTE.Solution.SolutionBuild.ActiveConfiguration.SolutionContexts 
    Dim sc As EnvDTE.SolutionContext 
    For Each sc In scs 
     sc.ShouldBuild = False 
    Next 
End Sub 

Sub SetInvertCompile() 
    Dim scs As EnvDTE.SolutionContexts = DTE.Solution.SolutionBuild.ActiveConfiguration.SolutionContexts 
    Dim sc As EnvDTE.SolutionContext 
    For Each sc In scs 
     sc.ShouldBuild = Not sc.ShouldBuild 
    Next 
End Sub 

Sub SetSelectedCompile() 
    Dim scs As EnvDTE.SolutionContexts = DTE.Solution.SolutionBuild.ActiveConfiguration.SolutionContexts 
    Dim sc As EnvDTE.SolutionContext 
    For Each sc In scs 
     sc.ShouldBuild = False 
    Next 
    Dim selItem As SelectedItem 
    For Each selItem In DTE.SelectedItems 
     For Each sc In scs 
      Try 
       If (sc.ProjectName = selItem.Project.UniqueName) Then 
        sc.ShouldBuild = True 
       End If 
      Catch 
      End Try 
     Next 
    Next 
End Sub 

您可以使用THES在宏IDE,將其添加到自定義工具欄,並用Solution Explorer中使用過這些。

+0

+1您也可以創建一個自定義配置,以便您在編譯頂部項目+所有子項目 – 2009-11-26 09:35:08

+0

True時快速切換。我忘了這個選項。但正如我所說的,創建和管理解決方案中所有項目的配置可能會有點痛苦。 – 2009-11-26 09:57:26

+0

試試MacroIDE,你可以從解決方案開發中使用它。如果您需要,我可以向您發送一個包含此信息的文本文件。 – 2009-11-26 10:03:13