diff --git a/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioAddMetadataReferenceCodeActionOperationFactoryWorkspaceService.cs b/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioAddMetadataReferenceCodeActionOperationFactoryWorkspaceService.cs index f691e4be2bc95053d8163f1fb1e3360eb72fb0c6..5ce7f84e155482fb40adfcb742baf1fd6048bf1c 100644 --- a/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioAddMetadataReferenceCodeActionOperationFactoryWorkspaceService.cs +++ b/src/VisualStudio/Core/Def/Implementation/Workspace/VisualStudioAddMetadataReferenceCodeActionOperationFactoryWorkspaceService.cs @@ -53,14 +53,18 @@ public override void Apply(Workspace workspace, CancellationToken cancellationTo // This is the same approach done in CVBErrorFixApply::ApplyAddMetaReferenceFix var uiHierarchy = visualStudioWorkspace.GetHierarchy(_projectId) as IVsUIHierarchy; - OLECMD[] command = new OLECMD[1]; - command[0].cmdID = (uint)VSConstants.VSStd2KCmdID.ADDREFERENCE; - if (ErrorHandler.Succeeded(uiHierarchy.QueryStatusCommand((uint)VSConstants.VSITEMID.Root, VSConstants.VSStd2K, 1, command, IntPtr.Zero))) + if (uiHierarchy != null) { - if ((((OLECMDF)command[0].cmdf) & OLECMDF.OLECMDF_ENABLED) != 0) + var command = new OLECMD[1]; + command[0].cmdID = (uint)VSConstants.VSStd2KCmdID.ADDREFERENCE; + + if (ErrorHandler.Succeeded(uiHierarchy.QueryStatusCommand((uint)VSConstants.VSITEMID.Root, VSConstants.VSStd2K, 1, command, IntPtr.Zero))) { - uiHierarchy.ExecCommand((uint)VSConstants.VSITEMID.Root, VSConstants.VSStd2K, (uint)VSConstants.VSStd2KCmdID.ADDREFERENCE, 0, IntPtr.Zero, IntPtr.Zero); + if ((((OLECMDF)command[0].cmdf) & OLECMDF.OLECMDF_ENABLED) != 0) + { + uiHierarchy.ExecCommand((uint)VSConstants.VSITEMID.Root, VSConstants.VSStd2K, (uint)VSConstants.VSStd2KCmdID.ADDREFERENCE, 0, IntPtr.Zero, IntPtr.Zero); + } } } }