There are two Standard Profiles. The smallest conforming implementation of the CLI is the Kernel Profile, while the Compact Profile contains additional features useful for applications targeting a more resource-rich set of devices. A conforming implementation of the CLI shall throw an appropriate exception (e.g., System.Not-ImplementedException, System.MissingMethodException, or System.ExecutionEngineException) when it encounters a feature specified in this Standard but not supported by the particular Profile (see Partition III). NOTE Implementers should consider providing tools that statically detect features they do not support so users have an option of checking programs for the presence of such features before running them. NOTE Vendors of compliant CLI implementations should specify exactly which configurations of Standard Libraries and Standard Profiles they support. NOTE "Features" may be something like the use of a floating point CIL instruction in the implementation of a method when the CLI upon which it is running does not support the Extended Numerics Library. Or, the "feature" might be a call to a method that this Standard specifies exists only when a particular Library is implemented and yet the code making the call is running on an implementation of the CLI that does not support that particular library. 3.1 The Kernel ProfileThis profile is the minimal possible conforming implementation of the CLI. It contains the types commonly found in a modern programming language class library plus the classes needed by compilers targeting the CLI. Contents: Base Class Library, Runtime Infrastructure Library
3.2 The Compact ProfileThis Profile is designed to allow implementation on devices with only modest amounts of physical memory yet provides more functionality than the Kernel Profile alone. Contents: Kernel Profile, XML Library, Network Library, Reflection Library |