Visual Studio 11 crashes with InvalidCastException

UPDATE: This issue can be solved by running the steps described here. There’s also a Microsoft Connect ticket describing the problem.

Just got Visual Studio 11 beta (with recent VS March Update) to crash consistently on start-up:

Launch VS, immediate crash:

Debugging that brings up the following exception:

The exception detail reads:

System.InvalidCastException was unhandled
Message=Unable to cast COM object of type ‘System.__ComObject’ to interface type ‘Microsoft.VisualStudio.OLE.Interop.IServiceProvider’. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{6D5140C1-7436-11CE-8034-00AA006009FA}’ failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
at System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease)
at Microsoft.VisualStudio.OLE.Interop.IServiceProvider.QueryService(Guid& guidService, Guid& riid, IntPtr& ppvObject)
at Microsoft.VisualStudio.Shell.ServiceProvider.QueryService(Guid guid, Type serviceType, Object& service)
at Microsoft.VisualStudio.Shell.ServiceProvider.QueryService(Type serviceType, Object& service)
at Microsoft.VisualStudio.Shell.ThreadHelper.get_Invoker()
at Microsoft.VisualStudio.Shell.ThreadHelper.InvokeOnUIThread(InvokableBase invokable)
at Microsoft.VisualStudio.Shell.ThreadHelper.Invoke(Action action)
at Microsoft.VisualStudio.Services.TaskSchedulerService.VsUIThreadScheduler.<>c__DisplayClass2.<QueueTask>b__0(Object _)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

How did I get in this state? I’m unsure, but I think I accidentally hit F1 key. (Oh noes, the dreaded Visual Studio F1 key!) Somehow, I think that wired up the VS help, which resulted in a consistent crash at boot.

Running devenv.exe /resetskippkgs didn’t fix it. Running a full VS repair doesn’t fix it.

Anyone else hitting this issue?