The main issue for us is that as we specialise in extensibility products, we are constrained by the target platforms of our customers. If we develop an add-in using VS2005 and .NET Framework 2.0, for example, it cannot be loaded by VS2002 or VS2003. To target all three versions we would have to develop using VS2002 and .NET 1.0, which to us is an unacceptable compromise. Using native code allows us to circumvent these restrictions. Our current development (Visual Lint) was developed in VS2003 in C++ using ATL 7.1 and WTL 7.5 - and yet it can run unmodified on every version of Visual Studio from 2002 onwards (we could even make the binary compatible with VC5/VC6, if we felt the extra work was justified). You just can't do that with .NET! As an example of the sort of issue we've encountered, the VCProjectEngineLibrary COM module (which implements the Visual C++ automation model) shipped by VS2002, VS2003 and VS2005 have the same version and name, but different GUIDs in all three products. It's difficult enough to catch events from all three versions in one binary using native code (it's complex enough to write an article about, believe me) - I can't even begin to imagine how complex it would be in .NET (if it were at all possible). From another perspective, I personally find the implementation offered by WinForms extremely constrained and clunky (ever tried recovering a corrupt .resx file by hand?) after spending 10 years on Win32 development. It's fine for simple stuff, but not at all suited to the sort of complex UI projects I tend to end up working upon. Having the WinForms Resource EditorDesigner muck about in my code is not something I am at all comformable with...I much prefer the Win32 model of separating code from resources. On the flip side there are many things in .NET that are simply amazing...but unfortunately for us the advantages are more than outweighed by the disadvantages. We'll continue to make the call on a project by project basis. That's my take on it anyway. Your mileage may vary. Anna :rose: Riverblade Ltd - Software Consultancy Services Anna's Place | Tears and Laughter "Be yourself - not what others think you should be" - Marcia Graesch "Anna's just a sexy-looking lesbian tart" - A friend, trying to wind me up. It didn't work.