Silverlight 2 contains a CLR, but not other. NET applications.ProgramAnd the CLR. Silverlight CLR used by the Assembly, also known as coreclr, fully consider different purposes during design. Coreclr is designed for cross-platform interoperability. It can run at the same time with Clr and support different security models and different versions of basic class libraries.
Coreclr is a virtual machine used by Silverlight. Similar to CLR that provides powerful functionality for. NET Framework 2.0 and later, it also contains similar types of loading and garbage collection (GC) systems.
Coreclr uses very simpleCodeAccess Security (CAS) model-it is simpler than the desktop CLR, and Silverlight only needs to enforce security policies at the application level. This is because as a platform-independent Web client, it cannot rely on any special current enterprise or machine policies, and should not allow users to change existing policies. However, there are some exceptions, such as openfiledialog and isolatedstorage (storage quota change). In this case, Silverlight requires the user's explicit consent to break the default rule set of the sandbox. Openfiledialog is used to access the file system, while isolatedstorage is used to access storage that is logically isolated and increase storage quotas.
Using different CLR for Silverlight and. NET applications means that you cannot reference the same assembly in two projects for. Net Applications and Silverlight applications. The main problem lies in the mscorlib assembly. The functional set required for normal use of Silverlight is very small-only the kernel. However, any. Net assembly must be linked to the standard version of mscorlib, which is the problem.
There are two articles in the msdn magazine.ArticleCoreclr:
Using coreclr to write Silverlight: http://msdn.microsoft.com/magazine/cc721609
Security in Silverlight 2: http://msdn.microsoft.com/magazine/cc765416