Some .net Theory question: Which libraries are actually standardized? I know that there is the Common Type System which specifies things like 32-Bit Integers and all this low level info, but I'm confused about the status/relation of the Common Language Specification and the Base Class Libraries.
There are some fundamental types in the system: System.Object, System.ValueType, System.Exception. But what about things like System.String and it's methods/properties like .Length, .StartsWith or string.IsNullOrEmpty?
Are these part of any standard? Is ECMA-335 enough to implement a CLS-compliant .net Runtime?
PS: I know that many functions that people use everyday are not standards-compliant but part of Microsofts proprietary .net Framework implementation. This is not about running existing Apps under some unsupported Operating System, I would look at Mono for that. This is really a theoretical question about what makes the core of .net, what is the .net Standard Library.