Jon Skeet [C# MVP]
Mike Hofer said:You *know* so? How? What information sources do you have that we do
not? Can you please post them so we can be equally as informed? Thanks.
Richard is the author of many books about Microsoft products. I think
it's fair to say he's got better sources than most people. I dare say
most of what he knows is under NDA in this respect however.
I'm sorry, but I have to disagree with that point. The shared source
CLI (available at
compiles and runs on Windows and FreeBSD.
That's not .NET. That's the CLI.
The Microsoft® Shared Source CLI Implementation is a file archive
containing working source code for the ECMA-334 (C#) and ECMA-335
(Common Language Infrastructure, or CLI) standards. These standards
together represent a substantial subset of what is available in the
Microsoft .NET Framework. In addition to the CLI implementation and the
C# compiler, the Shared Source CLI Implementation contains a cornucopia
of tools, utilities, additional Framework classes, and samples. It will
build and run on the Microsoft Windows® XP and the FreeBSD operating
Note the "substantial subset" bit there.
Oh, now that's just splitting hairs. .NET is a platform, not a set
of binaries. Further, it is an open standard, and you can obtain the
source from Microsoft itself.
Now brace yourselves for this: .NET itself is not Microsoft .NET.
Microsoft .NET is Microsoft's implementation of the .NET standard (the
CLI and the BCL).
Where exactly is this ".NET standard" specified? One would think that
the CLI/BCL standards would refer to .NET. Certainly the CLI standard
..NET is an implementation of the CLI and BCL standard (and more
besides, of course), but it is not in itself a standard.
So on the one hand, you're right. Microsoft .NET isn't platform
independent. But .NET itself is. It helps to keep them separate.
No, it helps to keep Microsoft .NET and the CLI/BCL separate - which is
why they're not both called ".NET".