How To Build the Source Code
This document specifies the required dependencies and procedures to prepare and build the Rxx solution in Visual Studio 2010 Pro edition or higher for the purpose of unofficial development.
All projects are located under the Source
folders in the solution.
All of the other folders contain either documentation or required dependencies, such as assemblies, MSBuild scripts and build tools. All of these folders can be safely removed from the solution, but the files that they contain must not be deleted from disc.
If you'd like to contribute features or bug fixes, then please read the following documents.
Rxx depends on the following software. You must install all of these tools before opening the solution.
If you have already opened the solution before installing the necessary software, then all projects in the solution may currently be unloaded.
To reload the projects:
- Close Visual Studio.
- Install the following software. (Reboot if asked.)
- Open the solution in Visual Studio.
- For each project that is still unloaded, right-mouse click the project and select Reload Project.
- If any projects will not reload, then check to make sure that you have installed the latest version of the tools listed below. It's also possible that a newer version of a tool was released but Rxx has not been upgraded yet.
Code Contracts (Latest Version)
StyleCop (Latest Version)
- Code Contracts is required to build the solution.
- StyleCop is not required to build the solution, for the purpose of unofficial development.
- If you don't want to install StyleCop, then you can remove the MSBuild import from the
Project.targets file in the solution's Build folder. Search for a line similar to the following in that file and delete it:
<Import Project="$(MSBuildExtensionsPath)\StyleCop\vX.X\StyleCop.Targets" />
Code Analysis (or FxCop)
- MSBuild Integration Files are required by Rxx. You must enable this feature in the installer.
- Visual Studio Integration is not required by Rxx. You can safely disable this feature.
- Visual Studio Templates are not required by Rxx. You can safely disable this feature.
Sandcastle (Latest Version)
- Code Analysis is not required to build the solution, for the purpose of unofficial development.
- Visual Studio 2010 Premium edition or higher is required to use integrated Code Analysis.
- Alternatively, Visual Studio Pro users can modify the projects themselves to use FxCop instead.
- Sandcastle is only required to build the solution in Release mode within Visual Studio.
- See the "Sandcastle Read Me.txt" file in the solution's Build\Documentation\ folder for details.
- The Sandcastle Styles Guided Installer (link above) is the recommended way to install Sandcastle.
Preparing the Solution
The following procedure describes how to prepare the Rxx solution for the purpose of unofficial development. These steps are only required one time. After completing them, you will be able to open and build the solution just like any other solution.
Note: Windows flags certain kinds of files that are downloaded from the Internet, such as .dll files, even if they are contained within a .ZIP file. If you get any errors when opening or building the solution stating that a particular file
is locked, then browse to the file in Windows Explorer, right-mouse click, select Properties, click Unblock and click OK.
Note: The CodePlex source control system (TFS) marks all files as read-only. If you get any errors when opening or building the solution stating that a particular file is read-only, then browse to the file in Windows Explorer, right-mouse
click, select Properties, uncheck the Read-only box and click OK.
- Open the solution (Rxx.sln) in Visual Studio.
- There are multiple versions of the solution targeting different versions of Rx. The folder named
Main always contains the latest version of Rxx, currently in development against the latest version of Rx.
- When prompted to connect to TFS source control, click Cancel.
- If you only receive a message about the source control bindings being invalid, click OK.
- You may be prompted to "Go Offline". Click OK.
- Go to File > Source Control > Change Source Control...
- When prompted, choose to permanently remove source control association bindings.
- Go to File > Save All. Your changes to the solution are now saved.
- For each project in the Source and Testing folders:
- Open the project's Properties window.
- Go to the Signing tab.
- Uncheck "Sign the assembly".
- Delete the Properties\Rxx.snk file under the project node in Solution Explorer.
- This file does not exist on disc. It's excluded from source control.
- Save all changes.
To build the solution:
- Select one of the following solution build configurations:
- Debug: Unoptimized build against the latest stable release of Rx. Runs complete static analysis.
- Experimental: Unoptimized build against the latest experimental release of Rx. Runs complete static analysis.
- Profiling: Optimized build against the latest experimental release of Rx. Does not run any static analysis.
- Release: Optimized build against the latest stable and experimental releases of Rx. Runs complete static analysis, builds documentation and generates complete deployment packages for CodePlex and NuGet.
- Release mode is not recommended for building inside Visual Studio. See the following procedure for an alternative.
- See the "Deployment Procedure.txt" file in the solution's Deployment folder for details about the output of Release mode builds.
- Build the solution or individual projects as you would normally.
To build for release outside of Visual Studio:
- Navigate to the solution's Build folder in Windows Explorer.
- Double-click the RxxBuild.bat file. A new console window opens and is automatically set to the appropriate current directory.
- Follow the prompts in the command window. You will be prompted to enable various options before the solution is built.
- Wait for the solution to finish building. Depending upon the options that you choose, this could take a very long time (> 1 hour on some systems).
Once you are able to build the solution, you'll probably want to experiment with Rxx's features.
The projects under the Testing\Labs\
folder build the hands-on labs applications that are available for download. To experiment with Rxx, set one of the lab projects as the start-up project and press
to build and run the application.
for details about the lab projects and how to use them to experiment with Rxx.