This is a compilation of "lessons learned" having developed in .NET extensively since .NET 1.1
The goal of this is to help people understand what they should and should not do in .NET, and why.
As a baseline, please refer to Microsoft's API design guidelines for .NET