views:

163

answers:

4

Do I have some weird setting that is making this happen? I only want to change the text of a message box (and no other assemblies depend on that one) yet VS rebuilds all of my projects and it takes forever. Any ideas?

+4  A: 

You can exclude projects from your general build through the build menu..

Build->Configuration Manager->Uncheck projects that you don't want to always build.

This can massively speed up build time by only building projects that absolutely need to be built every time.

Note though you will have to build the projects that you've unselected independently (right click->Build on the project etc) if they need to be rebuilt.

You can also setup alternate build configurations so you can mix and match what will build when.

Quintin Robinson
This made the most difference out of all the suggestions, since I don't need to make any changes to most of the projects. I would still prefer it if VS could just detect that the project had nto been updated and therefore not build it.
skb
A: 

The "Play" button is probably not what you think it is, or you have incremental linking and the like turned off in your Project Settings.

Jed Smith
+4  A: 

There's some limited control over this without using Configurations if you check the option to only build startup projects and dependencies on Run.

Tools -> Options -> Projects and Solutions -> Build and Run -> Only build startup projects and dependencies on Run

womp
+1 - Good call.
Quintin Robinson
+1  A: 

The play button is the start debugging feature.

Yes, Visual Studio will ask every project in the solution to build at that point. But note asking to build and actually building are different things. Asking to build merely says, about to do something build again if you would like. MsBuild will then do a bit of checking under the hood and decide if it should actually build the underlying project.

If your project is actually building then there may be some other problem going on. Can you give us some more info like language, project type, etc ...

JaredPar
It's a pretty simple scenario. I have a WPF Application (XAML/C#) as the startup project, and then I have 11 Class library projects (C#) which the WPF references directly, or indirectly through some of the other Class library projects.They are all building, every time I hit Build or Play, regardless of whether I have made any changes to them. Is that normal? Is there any way to make it not build if nothing has changed?
skb