Visual Studio: How to build only the StartUp project
Have you ever found yourself working on a Visual Studio solution consisting of multiple projects and wanting to build only the start-up project using a shortcut key?
Unfortunately for some bizarre reason Visual Studio 2005 and 2008 do not have this feature by default. However, there is a simple solution to this. Create a macro and assign it a shortcut key.
First create a new macro module though Tools > Macros with the following code
1 2 3 4 5 6 7 8 9 10 | Imports System Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Public Module BuildStartup Sub BuildStartup() DTE.Solution.SolutionBuild.BuildProject(DTE.Solution.SolutionBuild.ActiveConfiguration.Name, DTE.Solution.SolutionBuild.StartupProjects(0), False) End Sub End Module |
Now that you have the macro, you simply assign it a shortcut key through Tools > Options. Look for “Keyboard” under “Environment”. Find your macro in the command list and assign it a shortcut key.
Enjoy.
Tags: Macros, Visual Studio
I was looking for something exactly like this. I found that it wouldn’t necessarily build the correct Solution Platform though (e.g. x86, x64). So I hacked together a Macro that should work for the current configuration. Warning: I know nothing about Visual Basic/Macros but this is certified Works For Me:
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Public Module BuildStartupProject
Sub BuildStartupProject()
Dim sb2 As EnvDTE80.SolutionBuild2 = CType(DTE.Solution.SolutionBuild, EnvDTE80.SolutionBuild2)
Dim config2 = CType(sb2.ActiveConfiguration, EnvDTE80.SolutionConfiguration2)
Dim configName = String.Format(“{0}|{1}”, config2.Name, config2.PlatformName)
DTE.Solution.SolutionBuild.BuildProject(configName, DTE.Solution.SolutionBuild.StartupProjects(0), False)
End Sub
End Module