我正在使用 AnkhSVN 作为源代码控制插件。在 Visual Studio 2019 中打开“待处理更改”窗口时发生异常。
发生内部错误: 你调用的对象是空的。
System.NullReferenceException:未将对象引用设置为对象的实例。 在 Ankh.VS.Selection.CommandState.LoadThemeData() 在 Ankh.VS.Selection.CommandState.get_ThemeDefined() 在 Ankh.UI.PendingChanges.Commits.PendingCommitItem.RefreshText(IAnkhServiceProvider 上下文) 在 Ankh.UI.PendingChanges.Commits.PendingCommitItem..ctor(PendingCommitsView 视图,PendingChange 更改) 在 Ankh.UI.PendingChanges.Commits.PendingCommitItemCollection.GetWrapItem(PendingChange 内部) 在 Ankh.Collections.KeyedWrapNotifyCollection`3.WrapInnerKeyedCollection.ResetCollection() 在 Ankh.Collections.KeyedWrapNotifyCollection`3..ctor(IKeyedNotifyCollection`2 集合,对象上下文) 在 Ankh.UI.PendingChanges.Commits.PendingCommitsView.Ankh.UI.IPendingChangeUI.set_Items(IKeyedNotifyCollection`2 值) 在 Ankh.UI.PendingChanges.PendingCommitsPage.HookList() 在 Ankh.UI.PendingChanges.PendingCommitsPage.OnLoad(EventArgs e) 在 System.Windows.Forms.UserControl.OnCreateControl() 在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) 在 System.Windows.Forms.Control.CreateControl() 在 System.Windows.Forms.Control.SetVisibleCore(布尔值) 在 System.Windows.Forms.Control.set_Visible(布尔值) 在 Ankh.UI.PendingChanges.PendingChangesToolControl.ShowPanel(PendingChangesPage 页面,布尔选择) 在 Ankh.UI.PendingChanges.PendingChangesToolControl.OnLoad(EventArgs e) 在 System.Windows.Forms.UserControl.OnCreateControl() 在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) 在 System.Windows.Forms.Control.CreateControl() 在 Ankh.VSPackage.AnkhToolWindowPane.get_Window() 在 Microsoft.VisualStudio.Shell.WindowPane.Microsoft.VisualStudio.Shell.Interop.IVsUIElementPane.CreateUIElementPane(Object& uiElement) 在 Microsoft.VisualStudio.Platform.WindowManagement.UIElementDocumentObject.Init(布尔 initSize) 在 Microsoft.VisualStudio.Platform.WindowManagement.DocumentObjectSite.InitializeDocumentObject (对象 punkView) 在 Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService.CreateContentPane(FrameMoniker frameMoniker、布尔值 isDocument、字符串 lpstrMkDoc、UInt32 eCreateWindowFlags、对象 punkView、对象 punkData、IServiceProvider pServiceProvider、IVsUIHierarchy pUIHierarchy、UInt32 vsid、Guid rguidCmdUI、ViewGroup parent、IVsWindowFrame& ppWindowFrame) 在 Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService.CreateContentPane(字符串 pszName、Int32 fDockViewOn、Int32 fDocument、字符串 lpstrMkDoc、UInt32 eCreateWindowFlags、UInt32 dwToolWinId、对象 punkView、对象 punkData、IServiceProvider pServiceProvider、IVsUIHierarchy pUIHierarchy、UInt32 vsid、Int32& pfDefaultPosition、Guid& rguidCmdUI、IVsWindowFrame& ppWindowFrame) 在 System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 错误代码,IntPtr 错误信息) 在 Microsoft.VisualStudio.Shell.Package.CreateFrameForToolWindow(ToolWindowCreationResult 结果,Int32 id,Guid persistenceGuid) 在 Microsoft.VisualStudio.Shell.Package.CreateToolWindow(类型 toolWindowType、Int32 id、UInt32 标志、对象上下文、Guid persistenceGuid) 在 Microsoft.VisualStudio.Shell.Package.CreateToolWindow(类型 toolWindowType、Int32 id、对象上下文) 在 Microsoft.VisualStudio.Shell.Package.CreateToolWindow(类型 toolWindowType,Int32 id) 在 Microsoft.VisualStudio.Shell.Package.FindToolWindow(类型 toolWindowType、Int32 id、布尔创建、ProvideToolWindowAttribute 工具) 在 Ankh.VSPackage.AnkhSvnPackage.ShowToolWindow(AnkhToolWindow toolWindow,Int32 id,Boolean 创建) 在 Ankh.VSPackage.AnkhSvnPackage.ShowToolWindow(AnkhToolWindow 窗口) 在 Ankh.Commands.UI.ShowToolWindows.OnExecute(CommandEventArgs e) 在 Ankh.Commands.CommandMapItem.OnExecute(CommandEventArgs e) 在 Ankh.Commands.CommandMapper.Execute(AnkhCommand 命令,CommandEventArgs e)
如何解决?
答案1
我能够通过更新 Visual Studio 中的选项来解决这个问题......
工具->选项->扩展-> 并选中标有以下内容的框: 允许同步自动加载扩展(不推荐。需要重新启动 Microsoft Visual Studio。)
我在这篇博文中找到了所需的信息:Visual Studio 2019 中扩展的同步自动加载更新。