I'm not sure if it's worthy to mention here, but I had problems with CLS compliance and SharpMap.
I'm using nant for building a .Net4 application. I referenced SharpMap and SharpMap.UI and extended the class MapBox.
During the build process I received errors that the class MapBox isn't CLS compliance (http://msdn.microsoft.com/en-us/library/tdd79w48.aspx). So I needed to mark some public methods in the sourcecode with [CLSCompliantAttribute(false)].
I guess the usage of uint variables was the problem, which are used in other classes of SharpMap as well.
I just wanted to write it down, if anybody else has the same problem.