Show/Hide Toolbars

XSharp

Visual Studio organizes your source code in Solutions and in one or more projects.

 

A solution is a container for one or more related projects, along with build information, Visual Studio window settings, and any miscellaneous files that are not associated with a particular project.

A solution is described by a text file (extension .sln) with its own unique format; it is not intended to be edited by hand.

Visual Studio uses two file types (.sln and .suo) to store settings for solutions:

 

Extension

Name

Description

.sln

Visual Studio Solution

Organizes projects, project items, and solution items in the solution.

.suo

Solution User Options

Stores user-level settings and customizations, such as breakpoints.

 

Different projects in Visual Studio may target different development languages.

 

It is very well possible to use C# and X# projects next to each other in the same solutions.

You can also set dependency relations between projects for different development languages without problems.

Visual Studio will automatically determine the order in which projects must be build.

 

If you want, you can control this order by opening the Solution Properties dialog (right click on the Solution node in the Solution Explorer and choose "Properties").

The image below shows the Solution Properties dialog for the X# runtime solution.

On this dialog you can also specify which project should be the "start-up project" when you start debugging inside Visual Studio.

Additionally, as shown, you can launch multiple projects simultaneously.

The "Action" combo allows you to choose whether to Start a program or to start Debugging a program when launching the debugger inside Visual Studio.

 

SolutionProperties

 

On the "Project Dependencies" tab page, you can define the dependencies between projects.

 

SolutionDependencies

 

In this dialog, you can see that two projects are already marked with a checkboxes. These projects are listed as references in the XSharp.VO project.

Other projects have a gray checkbox, which means that they depend on XSharp.VO, so you cannot make XSharp.VO dependent on them, as that would create a circular dependency. Projects with a white checkbox can be added to the "Depends on:" list for XSharp.VO if desired, which would mean that Visual Studio would always build them before building XSharp.VO.

 

From this dialog, you can also open the "Configuration Manager" to maintain the various Configurations (typically Debug and Release) and different "Platforms". By default, there is only one Platform called "AnyCpu", but if your project contains C++ code, you may also have x86 and x64 platforms. The configuration manager can also be accessed through the Visual Studio Build menu.

Refer to the next chapter for more information about build configurations.