I have read much of the news around MS open sourcing .NET, e.g. http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx.
However I am still in the dark as to whether MS has released a runtime to run a .NET application on Linux and/or Mac? I still have a number of questions I hope someone can answer:
- Can I run my .NET application on Linux/Mac (without mono), if so I read only the "server-side" stack has been open sourced, which assemblies exactly does that entail, can I run a Hello World console application?
- Can I include the MS runtime for Linux/Mac (if there is one) with my application so it does not need to be installed separately system wide (like it does on Windows)?
- Similarly can I include .NET assemblies without having them installed on the system?
As of Nov 21, 2014, the answer is not yet.
That comes from Scott's blog (see the section titled "Bringing Core .NET to Linux and OS X"). They are working to complete it.
Edit
Jeremy Thompson pointed out that they hope to have this completed by Build 2015 (see the section titled ".NET Foundation")
With .NET open sourcing is a MS runtime avaliable on Linux and Mac?
Short answer is soon, they hope to have one completed by Build 2015. If Xamarin/Mono is anything to go by, you might have things like Partial Classes in Platform specific Projects, so when you build your solution you will select which projects (with the platform specific partial classes) to compile to target different OS's.
Long answer, looking at the comments in the link you posted lets us gaze into the crystal ball:
@Rev.pl: Does it mean you'll actually open-source the JIT compiler?
Immo Landwerth: That's exactly what it means. And the GC. And the type system. And the assembly loader. And the assembly binder. And the interop system: we'll open source the entire CoreCLR runtime!
@Dave: does anyone know is plain old WCF a part of CORE?
Immo Landwerth: The client side of WCF will be included in .NET Core.
@Alberto: So WPF will be open source too? :)
Immo Landwerth: A subset of the .NET Framework is released under the MIT license on GitHub.
@ts: Is there a roadmap to "upgrade" WPF to .Net Core 5?
Immo Landwerth: There are currently no plans to port either WinForms or WPF to .NET Core.
... I just want to clarify one thing: just because WinForms and WPF aren't open source doesn't mean we'll not invest in them. In fact we just blogged about our WPF roadmap :-)
Sarat Adiraj Will System.data (ADO.net) be part of the open sourced server stack ? I don't see any point in having an open sourced asp.net running on linux and Mac if it does not have the corresponding open source bits to connect to database back-ends.
To answer my own query posted earlier I just noticed (github.com/.../DataCommon) System.Data.Common available as part of ASP.net vNext. Great job guys !!
ronelm2000 ... I wonder if XNA Framework gets the hit too?
Me: See http://www.monogame.net/showcase/
Bastion Game Developers: “MonoGame enabled us to painlessly port a full 3D XNA 3.1 game which targeted iOS, MacOS, Linux and Chrome using a fork of the MonoGame code."
Draw a Stickman Epic Developers: “Using MonoGame, we were able to share around 95% of our code between multiple platforms. MonoGame helped us so much, more time was spent getting our game’s content to fit new screen resolutions than actually porting the game to new platforms. Starting out we developed for standard XNA (reach profile) on Windows, then had a pretty easy port to iOS, WinRT (Windows 8) and Android using MonoGame. Many more platforms will follow shortly.”
@Bo: Ok so all of this is leaving me a bit confused. What does all of this mean for me as an LOB developer?
Immo Landwerth: The key difference is that .NET Core will be a single, cross platform stack.
Let's contrast this with .NET Framework and Mono today. Mono is a full reimplementation of the .NET Framework. This means that certain features aren't supported or implemented differently enough to cause behavioral changes that can break your application. Also, Microsoft doesn't support running on Linux or MacOS today.
.NET Core on the other hand will be supported by Microsoft on Windows, Linux and MacOS. We'll have a single code base that we plan on working on together with the Mono community.
For you that means that targeting other platforms will be more reliable and innovation will happen faster. It also means that you'll be able to find out sooner what's coming next because all the design work is happening in public.
Finally, you'll also be able to take a look at the kitchen and engage in design discussion.