当我在 Visual Studio 2008 中点击“编译项目”(SHIFT+F6) 时,Visual Studio 似乎总是首先检查引用的项目/库。这是可以理解的,因为它们必须首先编译,但目前我的大部分时间都花在了顶级项目上(它是一个引用许多库的 ASP.NET 应用程序),并且引用的库都在在那里,不需要每次都检查。
当我进行完全重建时,大约需要 15 秒(在预热的机器上)。当我在 ASP.NET 项目中进行更改时,Visual Studio 会花费大约 10 秒的时间来检查引用的库。
有没有办法“告诉”Visual Studio:“请相信我,我知道引用的库在那里,不要检查它们”?在这种情况下,如果我的假设是错误的,我可以接受编译错误。
注意:我怀疑 C/C++ 开发人员可能会对此感到好笑,因为他们通常以分钟甚至小时为单位来衡量编译时间。另一方面,在 C/C++ 中只能编译单个文件。
右键单击解决方案,选择属性。
在“配置属性”->“配置”下,您可以选择应构建哪些项目。
您可以关闭不想构建的项目。这是一个更永久的解决方案,当您对其他项目进行更改并忘记重新编译/切换回构建时,可能会在以后引起一些麻烦。
抱歉,我忘了我的宏 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
您可以在宏 IDE 中使用它们,将它们添加到自定义工具栏并与解决方案资源管理器一起使用。
您可以编译整个解决方案,然后卸载库项目(在解决方案资源管理器中右键单击项目菜单)。