While everyone has their eyes and ears focused at Windows 10, Microsoft is also using this time to Open Source their MSBuild Engine. Today the.NET team is announcing their contribution of MSBuild as well as the .NET Foundation to the Open Source project GitHub.
For those unfamiliar with MSBuild, it is a platform for building applications where Microsoft’s Visual Studio isn’t present. Some MSBuild projects include the .NET Core Libraries and .NET Core Runtimes built as open source endeavors.
The MSBuild sources aren’t standalone just yet. Users will need Visual Studio 2015 to build them at first, but the .NET team is working on reducing that dependency as well as making the resemblance to the version in Visual Studio 2015 indistinguishable.
Along with GitHub, the .NET team is also looking to support Linux and Mac operating systems in the near future. With this new development and a continued level of openness, Microsoft along with the .NET team hopes this will encourage more people to build more open sourced .NET projects on preferred platforms.
The .NET team also offer a quick walkthrough for those eager to start building source trees:
The first scenario you might want to try is building the source tree. To do this, you will need to have Visual Studio 2015 installed on your machine. From a Developer Command Prompt, run the following:
git clone https://github.com/Microsoft/msbuild.git
For those looking to target a larger screen:
To build an app, you'll first want to run the BuildAndCopy.cmd script we included in the root folder of the source. This will build the sources and create a copy of your build output with everything you need. Again from a Developer Command Prompt, run this command from your MSBuild source location: BuildAndCopy.cmd bin\MSBuild true Now, to build a simple.NET Core console application, try the following:
git clone https://github.com/dotnet/corefxlab
In the end, this is an excellent proposition for the future of app development as Microsoft is slowly releasing the hold on their mandatory platform restrictions.