仅编译当前项目而不检查引用的项目

Jan*_*ich 2 c# compiler-construction visual-studio-2008 visual-studio

当我在Visual Studio 2008中点击编译项目(SHIFT + F6)时,Visual Studio似乎总是首先检查引用的项目/库.这是可以理解的,因为它们必须首先编译,但是目前我大部分时间都只是在顶层项目(它是一个引用了许多库的ASP.NET应用程序)上积极工作,并且引用的库正在进行中在那里,每次都不需要检查.

当我进行完全重建时,大约需要15秒(在预热的机器上).当我在ASP.NET项目中进行更改时,Visual Studio花费大约10秒钟来检查引用的库.

有没有办法"告诉"Visual Studio:"请相信我,我知道引用的库在那里,不检查它们"?在这种情况下,如果我的假设错误,我会很好地收到编译错误.

注意:我怀疑C/C++开发人员可能会对此感到好笑,因为他们通常会在几分钟内(通常在几小时内)测量编译时间.另一方面,在C/C++中,只能编译一个文件.

Adr*_*der 7

右键单击解决方案,选择属性.

在Configuration Properties-> Configuration下,您可以选择要构建的项目.

您可以关闭不想构建的项目.这是一个更永久的解决方案,当您对其他项目进行更改并忘记重新编译/切换构建时,可能会导致一些痛苦.

对不起,我忘记了我的宏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
Run Code Online (Sandbox Code Playgroud)

您可以在宏IDE中使用它们,将它们添加到自定义工具栏并与解决方案资源管理器一起使用.