Will any of this .NET Core stuff be used in .NET Micro?
A major goal of ours is consistency across .NET implementations. .NET Micro is part of that vision. Micro has very different design constraints than .NET Core. It’s intended for devices w/o an OS. We’ve typically found that the two implementations need to be different. It’s probably worth a new conversation with the .NET Micro team, as its been a while since we validated that assumption.
Both projects are now open source. It makes sense to message to the community where code sharing makes sense. I’ll reach out to the .NET Micro team on that point.
What kind of memory constraints would .NET Core have? (Could it replace .NET Micro)
Unlikely, for the reasons given above.
Will porting .NET Core CLR to other CPU types like MIPS, PPC ect be an easy task?
Porting a development platform that directly touches hardware to another chip is never easy. Chip architectures often differ quite a lot. A naive port can be straightforward, but then optimizations may need to be re-written since chips work differently. That’s necessary for decent performance. Memory consistency is a chip characteristic where Intel and ARM differ, for example.
Will porting to asm.js/NaCl/WebGL for IE, Firefox, Chrome, ect be doable? How much of the CLR has CPU specific instructions?
Can I embed .NET Core and invoke the runtime like I can with “Embedded Mono”?
The CLR has had a public hosting API since its inception. SQL Server and IIS are great examples of CLR hosts. CoreCLR also has a hosting API, which ASP.NET 5 uses. This will be included in the CoreCLR repo, when it shows up.
Will .NET Native be open sourced as well so we could port it to other platforms and CPU types? (This would be important to compile .NET on iOS).
Right now, we are focussed on CoreCLR. I can imagine .NET Native following. Right now, CoreCLR has all of our attention, so we’ll re-visit the .NET Native question after we’ve got CoreCLR on GitHub.
.NET Native is sufficiently flexible that it could be updated to support additional architectures and be integrated into a compiler toolchain like LLVM. It already supports X86, X64 and ARM. That on its own is suggestive that it has been built with a sound architecture w/rt supporting multiple processor types.