Ошибка дизайнера визуальной студии Windows Form: «Не удалось создать содержимое фрейма». - PullRequest
0 голосов
/ 15 октября 2018

После того, как я добавил UserControl к своему Form, он внезапно начал выдавать эту ошибку:

Ошибка HRESULT E_FAIL была возвращена после вызова компонента COM

Так что я погуглил и обнаружил, что это как-то связано с кешем.Поэтому я удалил файл suo из своего решения.И теперь он выдает эту ошибку:

Неуказанная ошибка (Исключение из HRESULT: 0x80004005 (E_FAIL)) *

Я тоже погуглил и обнаружил, что должен прочитать содержимоеActivityLog.xml, который можно найти в %appdata%\Microsoft\VisualStudio.Он начинается с этого сообщения:

Не удалось создать содержимое фрейма.

Не удалось найти какое-либо дальнейшее решение.

вот и всеошибка из этого журнала:

Ошибка построения содержимого фрейма.Идентификатор фрейма: ST: 0: 0: {31fc2115-5126-4a87-b2f7-77eaab65048b} Заголовок фрейма: Сведения об исключении: System.ArgumentNullException: Имя параметра: protocolHandler в Microsoft.XamlDiagnostics.UI.LivePropertyExplorer.Model.Mlp0):IProtocolHandler ProtocolHandler, IActiveElementTracker трекер, ITelemetryLogger telemetryLogger) при Microsoft.XamlDiagnostics.Model.XamlDiagnosticsTool.GetPropertyExplorerModel (IServiceProvider ServiceProvider) в Microsoft.XamlDiagnostics.Model.XamlDiagnosticsTool.CreatePropertyExplorer (IServiceProvider ServiceProvider, ResourceDictionary themeDictionary, UIElement searchContentControl) в Microsoft.VisualStudio.ClientDiagnostics.XamlDiagnostics.PropertyExplorerToolWindow.GetContent () в Microsoft.VisualStudio.ClientDiagnostics.XamlDiagnostics.XamlDiagnosticsToolWindowBase.ShowContent () в Microsoft.VisualStudio.ClientDiagnostics.XamlDiagnostics.XamlDiagnosticsToolWindowBase.Initialize () в Microsoft.VisualStudio.Shell.WindowPane.InternalSetSite (IServiceProvider p) в Microsoft.VisualStudio.Shell.WindowPane.Microsoft.VisualStudio.Shell.Interop.IVsWindowPane.SetSite (IServiceProvider psp) в Microsoft.VisualStudio.Shell.WindowPane.Mitesoft.etSiteSleUIUIServiceProvider p) в Microsoft.VisualStudio.Platform.WindowManagement.UIElementDocumentObject.SetSite (сайт DocumentObjectSite) по адресу, булева isDocument, String lpstrMkDoc, UInt32 eCreateWindowFlags, объект punkView, объект punkData, IServiceProvider pServiceProvider, IVsUIHierarchy pUIHierarchy, UInt32 vsid, Guid rguidCmdUI, ViewGroup родительский, IVsWindowFrame & ppWindowFrame) в Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService.CreateContentPane (String pszName,Int32 fDockViewOn, Int32 fДокумент, Строка 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 ERRORCODE, IntPtrerrorInfo) в Microsoft.VisualStudio.Shell.Package.CreateToolWindow (тип toolWindowType, идентификатор Int32, флаги UInt32) в Microsoft.VisualStudio.Shell.Package.CreateToolWindow (тип toolWindowType, идентификатор Int32, инструментальная папка ProvideToolWindow.Windows.dio.WindowsTirectWindows).FindToolWindow (тип toolWindowType, идентификатор Int32, логическое создание, инструмент ProvideToolWindowAttribute) в Microsoft.VisualStudio.Shell.Package.CreateToolWindow (Guid & toolWindowType, Int32 id) в Microsoft.VisualStudio.Shell.Pack.Wis.WindowsTicrosoft.Info.CreateToolWindow (Guid & toolWindowType, UInt32 id) в Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.ConstructContent ()

Что происходит?Что означает Construction of frame content failed?

1 Ответ

0 голосов
/ 15 октября 2018

Благодаря Caius мне удалось найти проблему.Дизайнеру не удалось отобразить Form из-за ошибки относительно UserControl.Я заглянул в файл designer.cs и нашел предупреждение о том, что существует конфликт между UserControl [версия] в [путь] и UserControl в [путь].

Я просмотрел ссылки напроект и нашел там ссылку на себя!Поэтому я удалил его, и ошибка исчезла.

UserControl и Form были в одном проекте, и при добавлении UserControl к Form я перетаскивал UserControl с Toolbox на Form.Поэтому он автоматически добавил ссылку на мой проект.Я не уверен, почему он это сделал.Но удаление ссылки решило проблему.

...