2015-09-18 8 views
10

Ich arbeite an einer WPF-Anwendung, die ich mit VS 2012 debuggen. Seit ich zu Visual Studio 2015 wechselte, kann ich es nicht mehr debuggen. Zur Laufzeit bekomme ich System.Windows.Markup.XamlParseException und die Anwendung stürzt ab. Zu beachten, dass die kompilierte ausführbare Datei korrekt ausgeführt wird, wenn sie durch Doppelklicken auf ihr Symbol gestartet wird. Ich kann sogar in VS 2015 debuggen, indem ich den Prozess nach dem Start angehängt habe.XamlParseException beim Debuggen von WPF-Anwendung mit Visual Studio 2015

In meiner Anwendung verwende ich xceed.wpf.toolkit.

Die Ausnahme ist:

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: 

Beachten Sie auch, dass die beteiligte Komponente, IST Xceed.Wpf.Toolkit.dll (in der richtigen Version, v2.1.0.0), nur im Ausgabeverzeichnis vorhanden ist, in der Nähe der kompilierten ausführbaren Datei der Anwendung.

Irgendwelche Vorschläge, um die Anwendung mit dem integrierten Debugger VS 2015 arbeiten zu lassen?

Danke!

+0

Hinweis: Ich habe die Komponente xceed.wpf.toolkit.dll mit ILSpy geöffnet und kann bestätigen, dass sie die Quelle 'xceed.wpf.toolkit; v2.1.0.0; themes/xceed.wpf.toolkit; v2 enthält .1.0.0; komponente/themen/aero/brushes_normalcolor.xaml ' –

Antwort

13

I deaktiviert die

Debugging | Allgemein | Aktivieren Sie UI-Debugging-Tools für XAML

Option und alles begann wieder zu arbeiten.

enter image description here

+0

Vielleicht könnte dieser Artikel nützlich sein: http://blogs.msdn.com/b/visualstudio/archive/2015/02/24/introducing-the-ui -debugging-tools-for-xaml.aspx –

+0

Ich hatte dieses Problem und dieses Update funktioniert für mich. Danke, Mann ! – shanmugharaj

0

Sie können this

Und verwenden Sie die pack:... Syntax überprüfen möchten.

Es stellt sich heraus, dass im Toolkit ein Problem auftritt, das nur mit VS2015, nicht jedoch mit früheren Versionen, zu Problemen führt. Immer noch müssen die Unterschiede zwischen den letzten und vorherigen Versionen von VS verstehen, aber zumindest funktioniert dieser Patch.

Verwandte Themen