What code has Microsoft open sourced? (This is probably already out-dated)
- MVC4, MVC5, Beta MVC6, Web API v1, Web API v2, Beta Web API v3 - Apache2 License
- EF6, Beta EF 7 - Apache2 License
- C# and VB.net compiler (e.g. Roslyn) - Apache2 License
- Beta .NET Core - (runs on Windows, Mac, Linux) - includes JIT and GC code - MIT license
- Azure SDK, Open XML SDK, WCF Client Libraries, etc...
Ok, now what?
- Learn from it, remember the behavior is in the code, not the documentation, plus reading code is good for you
- Contribute to it - bug reports, suggestions or code fixes
- Or maybe just debug with it, debugging is easier with source
- Licensed under OSI compliant licenses
- Projects managed by DOT Net Foundation - separate 501(c)(6) entity
How can I read the source code
- Browse it on-line at github (for older versions browse on codeplex)
- Or copy locally using Git. Install GitHub for Windows
- Click the Clone In Desktop button on the github website
- Or install GitHub extension for VS 2015, then click the Open in VS button on the github website
- For codeplex, browse to source and click the clone button to get the URL to use with 'git clone' command
How do I debug with it?
- First download it, then build it, then update your project to use your built version of the library. No, really.....
- Point your Visual Studio install at symbol servers
- The first time you run your app after enabling this, it will be VERY VERY VERY SLOW (20 min+) to start, it has to download lots of debug symbols (.pdbs) and source code
- Proceed with caution, as VS will warn you, only add trusted servers to the list of symbol servers
Debug into .NET Framework
- .NET 4.5.0, 4.5.1, 4.6 can be debugged using http://referencesource.microsoft.com/. You can also download all source for these versions.
- This code is not strictly open-source, it is NOT on github, it is under a different MS-RSL license
- Follow instructions at http://referencesource.microsoft.com/setup.html for enabling stepping into .NET 4.5.X, 4.6 code
- These instructions don't help for the Beta .NET Core, but that is still beta, so it's still a moving target
Debug into MVC, Web API, EF