We use the following tools in our C#-based courses (not every course uses every tool):
  • Microsoft .NET Framework - the runtime system and class libraries for C#.
  • Microsoft Visual Studio - the leading IDE for C# (and other .NET) development. In addition to its standard IDE features, we use the integrated static checkers of VIsual Studio extensively.
  • Code Contracts - a Microsoft Research project that adds contract support to .NET, including static checking and runtime checking.
  • Pex - a Microsoft Research project that automates whitebox unit testing for .NET applications.

We also use the following parts of the .NET framework extensively: