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?
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.
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.
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
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 ...