2015-09-18 2 views
10

Я работаю над WPF-приложением, которое я использовал для отладки с VS 2012. Поскольку я переключился на Visual Studio 2015, я больше не могу его отлаживать. Во время выполнения я получаю System.Windows.Markup.XamlParseException и приложение аварийно завершает работу. Следует отметить, что скомпилированный исполняемый файл запускается правильно при запуске, дважды щелкнув по его значку. Я могу даже отладить его в VS 2015, присоединив процесс после его запуска.XamlParseException при отладке приложения WPF с Visual Studio 2015

В моем приложении я использую xceed.wpf.toolkit.

Исключение:

System.Windows.Markup.XamlParseException occurred 
    HResult=-2146233087 
    LineNumber=58 
    LinePosition=15 
    Message='Initialization of 'Xceed.Wpf.Toolkit.BusyIndicator' threw an exception.' Line number '58' and line position '15'. 
    Source=PresentationFramework 
    StackTrace: 
     at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri) 
     at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri) 
     at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri) 
     at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream) 
     at [...].InitializeComponent() 
    InnerException: 
     HResult=-2146233088 
     LineNumber=0 
     LinePosition=0 
     Message=Initialization of 'Xceed.Wpf.Toolkit.Core.VersionResourceDictionary' threw an exception. 
     Source=System.Xaml 
     StackTrace: 
      at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin) 
      at System.Xaml.XamlObjectWriter.Logic_EndInit(ObjectWriterContext ctx) 
      at System.Xaml.XamlObjectWriter.WriteEndObject() 
      at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter) 
      at System.Windows.SystemResources.ResourceDictionaries.LoadDictionary(Assembly assembly, String assemblyName, String resourceName, Boolean isTraceEnabled) 
      at System.Windows.SystemResources.ResourceDictionaries.LoadThemedDictionary(Boolean isTraceEnabled) 
      at System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache) 
      at System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference) 
      at System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce) 
      at System.Windows.FrameworkElement.UpdateThemeStyleProperty() 
      at System.Windows.FrameworkElement.OnInitialized(EventArgs e) 
      at System.Windows.FrameworkElement.TryFireInitialized() 
      at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin) 
     InnerException: 
      HResult=-2146232800 
      Message=Cannot locate resource 'xceed.wpf.toolkit;v2.1.0.0;themes/xceed.wpf.toolkit;v2.1.0.0;component/themes/aero/brushes_normalcolor.xaml'. 
      Source=PresentationFramework 
      StackTrace: 
       at MS.Internal.AppModel.ResourcePart.GetStreamCore(FileMode mode, FileAccess access) 
       at System.IO.Packaging.PackagePart.GetStream(FileMode mode, FileAccess access) 
       at System.IO.Packaging.PackWebResponse.CachedResponse.GetResponseStream() 
       at System.IO.Packaging.PackWebResponse.get_ContentType() 
       at MS.Internal.WpfWebRequestHelper.GetContentType(WebResponse response) 
       at MS.Internal.WpfWebRequestHelper.GetResponseStream(WebRequest request, ContentType& contentType) 
       at System.Windows.ResourceDictionary.set_Source(Uri value) 
       at Xceed.Wpf.Toolkit.Core.VersionResourceDictionary.System.ComponentModel.ISupportInitialize.EndInit() 
       at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin) 
      InnerException: 

Следует также отметить, что участие компонент, Xceed.Wpf.Toolkit.dll (в правильной версии, v2.1.0.0), присутствует в выходном каталоге, просто рядом с скомпилированным исполняемым файлом приложения.

Любое предложение заставить приложение работать с использованием интегрированного отладчика VS 2015?

Спасибо!

+0

Примечание. Я открыл компонент xceed.wpf.toolkit.dll с помощью ILSpy, и я могу подтвердить, что он содержит rource 'xceed.wpf.toolkit; v2.1.0.0; themes/xceed.wpf.toolkit; v2 .1.0.0; компонент/themes/aero/brushes_normalcolor.xaml ' –

ответ

13

I отключен

Отладка | Общий | Включить инструменты отладки UI для XAML

вариант и все снова начали работать.

enter image description here

+0

Возможно, эта статья может быть полезна: http://blogs.msdn.com/b/visualstudio/archive/2015/02/24/introducing-the-ui -debugging-tools-for-xaml.aspx –

+0

У меня была эта проблема, и это исправление работает для меня. Спасибо чувак ! – shanmugharaj

0

Вы можете проверить this

и использовать синтаксис pack:....

Оказывается, в наборе инструментов есть проблема, которая заставляет все идти вразрез только с VS2015, но не с предыдущими версиями. По-прежнему нужно понимать различия между последними и предыдущими версиями VS, но по крайней мере этот патч работает.

Смежные вопросы