Hello ,
CLS stands for common language specification and not subset.
If you follow CLS then any .NET language can call your code. For instance c# is case sensitive while VB.NET is not. So when you code in VB.NET something like this below
public sub x()
end sub
public sub X()
end sub
The above code will compile for VB.NET but C# will be confused as c# is case sentive and VB.NET is not. So what you need to do is go in your assemblyinfo.cs and put the below attribute.
[assembly: CLSCompliant (true)]
With the above code any kind of CLS compliance you break you will get a warning.
http://www.questpond.com/dotnet/Top-Dot-Net-Interview-Questions-and-Answers-Part1.html