6

リリースモードでのみ発生し、一部のプロパティの無効な難読化が原因である可能性が最も高い問題を追跡しようとしています。特定のコントロールを初期化するときに発生することは知っていますが、このコントロールは巨大です。すべてのXAMLとバインディングを1日かけて調べましたが、この例外の原因がわかりません。

より多くの情報を取得する方法はありますか?この例外の原因を知るには?

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()
4

2 に答える 2

6

より詳細な例外メッセージを取得する方法はわかりませんが、少なくとも他の人が考えられる原因を知ることは役立つかもしれません。に登録されているaまで追跡しNullReferenceExceptionました。変化WpfXamlLoader.TransformNodesDependencyPropertyDependencyProperty.Register(string, Type, Type)

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

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

問題を修正しました。

于 2016-09-21T11:10:19.027 に答える
2

より詳細な例外メッセージを受け取ることはできないようです。問題のあるXAMLを小さな部分に分割するのが最善の方法です。

于 2012-08-02T02:55:43.290 に答える