Frage

Ich versuche, ein Problem aufzuspüren, das nur im Release-Modus auftritt und höchstwahrscheinlich durch die ungültige Verschleierung einer Eigenschaft verursacht wird.Ich weiß, dass es beim Initialisieren eines bestimmten Steuerelements passiert, aber dieses Steuerelement ist riesig.Ich habe einen Tag damit verbracht, alle XAML- und Bindungen zu durchlaufen, und kann immer noch nicht erkennen, was diese Ausnahme verursacht.

Gibt es eine Möglichkeit, weitere Informationen zu erhalten?Um zu wissen, was diese Ausnahme verursacht hat?

Exception : System.NullReferenceException
Message   : Object reference not set to an instance of an object.
Source    : PresentationFramework
Help      : 
Stack     :
   at System.Windows.Markup.WpfXamlLoader.TransformNodes(XamlReader xamlReader, XamlObjectWriter xamlWriter, Boolean onlyLoadOneNode, Boolean skipJournaledProperties, Boolean shouldPassLineNumberInfo, IXamlLineInfo xamlLineInfo, IXamlLineInfoConsumer xamlLineInfoConsumer, XamlContextStack`1 stack, IStyleConnector styleConnector)
   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 System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
   at MyClass.InitializeComponent()

War es hilfreich?

Lösung 2

Es scheint nicht möglich zu sein, eine detailliertere Ausnahmemeldung zu erhalten.Die problematische XAML in kleinere Teile zu unterteilen, ist der richtige Weg.

Andere Tipps

Ich kenne keine Möglichkeit, eine detailliertere Ausnahmemeldung zu erhalten, aber es könnte zumindest für andere Personen nützlich sein, mögliche Ursachen zu kennen.Ich habe gerade einen NullReferenceException in WpfXamlLoader.TransformNodes bis zu einem DependencyProperty verfolgt, der mit DependencyProperty.Register(string, Type, Type) registriert wurde.Ändern

public static readonly DependencyProperty FooProperty = DependencyProperty.Register(
        nameof(Foo), typeof(object), typeof(Bar));

bis

public static readonly DependencyProperty FooProperty = DependencyProperty.Register(
        nameof(Foo), typeof(object), typeof(Bar), new FrameworkPropertyMetadata(null));

hat das Problem behoben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top