This FAQ tries to answer some commonly asked questions about the fundamentals of the .NET
Framework - topics like assemblies, garbage collection, security, interop with COM, and remoting. The
most commonly-used parts of the class library are also covered. Other aspects of the .NET Framework
such as ASP.NET, ADO.NET and WinForms are not covered.
sources, including postings to the DOTNET-X mailing lists and various MS documents. The answers
are not necessarily correct or up-to-date. Note that this FAQ has no official connection to the DOTNET-
X mailing lists, or to Developmentor (the company who host the lists), or to Microsoft.
o1.1 What is .NET?
o1.2 Does .NET only apply to people building web-sites?
o1.3 When was .NET announced?
o1.4 When was the first version of .NET released?
o1.5 What tools can I use to develop .NET applications?
o1.6 What platforms does the .NET Framework run on?
o1.7 What languages does the .NET Framework support?
o1.8 Will the .NET Framework go through a standardisation process?
o2.1 What is the CLR?
o2.2 What is the CTS?
o2.3 What is the CLS?
o2.4 What is IL?
o2.5 What is C#?
o2.6 What does 'managed' mean in the .NET context?
o2.7 What is reflection?
o3.1 What is an assembly?
o3.2 How can I produce an assembly?
o3.3 What is the difference between a private assembly and a shared assembly?
o3.4 How do assemblies find each other?
o3.5 How does assembly versioning work?
o4.1 What is an Application Domain?
o4.2 How does an AppDomain get created?
o4.3 Can I write my own .NET host?
o5.3 Why doesn't the .NET runtime offer deterministic destruction?
o5.4 Is the lack of deterministic destruction in .NET a problem?
o5.5 Does non-deterministic destruction affect the usage of COM objects from
o6.1 What is serialization?
o6.2 Does the .NET Framework have in-built support for serialization?
o6.3 I want to serialize instances of my class. Should I use XmlSerializer,
o6.4 Can I customise the serialization process?
o6.5 Why is XmlSerializer so slow?
o6.6 Why do I get errors when I try to serialize a Hashtable?
o6.7 XmlSerializer is throwing a generic "There was an error reflecting MyClass" error.
o7.1 What are attributes?
o7.2 Can I create my own metadata attributes?
o7.3 Can I create my own context attributes?
o8.1 What is Code Access Security (CAS)?
o8.2 How does CAS work?
o8.3 Who defines the CAS code groups?
o8.4 How do I define my own code group?
o8.5 How do I change the permission set for a code group?
o8.6 Can I create my own permission set?
o8.7 I'm having some trouble with CAS. How can I diagnose my problem?
o8.8 I can't be bothered with all this CAS stuff. Can I turn it off?
This action might not be possible to undo. Are you sure you want to continue?