Thanks for the additional information. This scenario is a bit confusing when first getting started, but this is how Visual Studio is designed to work for multi-project solutions, and XNA Game Studio is inheriting that behavior. There is some information that we are adding to the documentation in XNA Game Studio 3.0 to try to give some better guidance about this type of scenario. Here is an early draft of some of that information in case it is helpful to you here:
Using Solution Configurations
Solution configurations store solution level properties that direct which style of object and executable output are produced by the Start (F5) key and Build commands. In a cross-platform solution in XNA Game Studio, the solution configuration platform setting is a composite of the platform settings for each project in the solution.
It is important to understand that the solution configuration does not determine which projects are built and deployed. This is determined by the startup project setting (described in the previous section).
The solution configuration controls in the Visual Studio toolbar establish the "Active" (or default) configuration for all projects in the solution. For example, the active configuration may be set to the "Debug" configuration, which includes all symbol information and minimal compiler optimzation, or the "Release" configuration. Changing this setting will affect the build of all projects set to the active configuration.
Each project may have its own configuration settings, which may override the active configuration. The project's configurations will also specify the target platform (for example, Windows, Xbox 360, or Zune). The platform settings are set automatically for a project when you use the Create Copy... command to create the synchronized project for a new platform.
To view the project configuration settings:
- In Solution Explorer, right-click the project to view it, and then click Properties.
- In the Project Designer now displayed, click the Build tab.
- You can view the project configuration, and change it in the Configuration and Platform settings.
Setting Deployment Options
You can use the Build and Run settings to limit Start and Build commands to the startup project.
To set Build and Run options:
- From the Tools menu, click Options...
- If you are using Visual C# Express, make sure the check box in the Options dialog at the bottom left-hand corner labeled Show all settings is checked.
- In the Options dialog, expand the Projects and Solutions node, and select the Build and Run options set.
- Check the box labeled Only build startup projects and dependencies on Run (it is unchecked by default).
This setting will limit build and deployment to the startup project.
In addition, you may wish to set the option that automatically sets the currently selected project as the startup project.
To automatically set the startup project
- Check the box labeled For new solutions use the currently selected project as the startup project (it is unchecked by default).
This setting will establish that the currently selected project is the startup project. This option will only take effect for new solutions.
Setting the Startup Project Manually
The startup project is the project that will be the first built, debugged, and deployed by Visual Studio. When you deploy a solution, the startup project is the first project to run. If you set the Build and Run settings as described previously, the Start and Build commands will be limited solely to the startup project.
Further, if the startup project is set automatically to the currently selected project, it is not necessary to manually set the startup project.
The startup project name always appears in boldface in Solution Explorer.
To set the startup project manually:
- In Solution Explorer, right-click the project you wish to set as the startup project.
- In the context menu, click Set as StartUp Project.
- You also have the option of either selecting the project in Solution Explorer or, from the Project menu, selecting Set as StartUp Project.