This is nothing users dislike more than an Unhandled Exception, an I agree.
SQL Server Management Studio (SSMS) Express 2008 (patched with SP3), recently began giving this error to a user of mine, every time they clicked on the "New Query" button. "Microsoft .NET Framework" Unhandled Exception has occured in a component in your application.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.SqlServer.Management.UI.VSIntegration.ShellCodeWindowControl.OnHandleCreated(EventArgs a)
at System.Windows.Forms.Control.WmCreate(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at Microsoft.SqlServer.Management.UI.VSIntegration.ShellTextEditorControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
The user recently received from patches for Visual Studio 2010 and then things stopped working.
Basically the user was using SSMS express. I Unininstalled SSMS Express 2008 (and the SQLExpress instance) and installed SQL Server Developer Edition 2008. In the process of installing developer edition, the installation was aborted due to missing Visual Studio 2008 SP1. I applied Visual Studio 2008 sp1 and then restarted the installation of developer edition, the install was successful. The user was able to open SSMS and launch a new query window without error. I wonder if applying VS 2008 SP1 would have corrected the original error, but at the point I realized VS 2008 sp 1 was missing, I had already installed SSMS Express 2008.
I hope to never see this error again, but I've been trouble shooting many issues related to having Visual Studio 2005, 2008, 2010 and SQL Server 2005,2008, 2008r2. I can't even imagine throwing sql 2012 into the mix, but I guess it's coming....prepare for more compatability issues.