我正在使用Eazfuscator.NET 3.0.41來混淆(VS 2010)WPF 4應用程序。混淆之後,當我雙擊exe文件時,它會拋出這樣的錯誤消息。Eazfuscator.NET日誌記錄?
「說明:該過程由於未處理的異常終止 異常信息:System.Windows.Markup.XamlParseException」
有沒有一種方法,我可以使某種日誌記錄,以檢查它是怎麼回事錯了?我怎麼解決這個問題?請指教
我正在使用Eazfuscator.NET 3.0.41來混淆(VS 2010)WPF 4應用程序。混淆之後,當我雙擊exe文件時,它會拋出這樣的錯誤消息。Eazfuscator.NET日誌記錄?
「說明:該過程由於未處理的異常終止 異常信息:System.Windows.Markup.XamlParseException」
有沒有一種方法,我可以使某種日誌記錄,以檢查它是怎麼回事錯了?我怎麼解決這個問題?請指教
感謝您的快速響應。
我找到了解決方案。這是發生了什麼。
當Eazfuscator混淆WPF應用程序不會混淆BAML代碼,但它確實改變是指BAML像OnMouseClick事件的方法名。所以當應用程序加載它會尋找相應的事件,因爲他們不在那裏它會觸發這個錯誤。
爲了解決這個問題,每個結合在WPF的事件的事件必須用本singature
[System.Reflection.Obfuscation(Exclude = true)]
例如是已檢舉。
[System.Reflection.Obfuscation(Exclude = true)]
private void Window_Loaded(object sender, RoutedEventArgs e)
{
}
排除這些錯誤的最簡單方法是打開VS 2010編輯器,將其更改爲發佈模式並運行。
希望這會幫助別人也是如此。
打開在反射器混淆輸出可能揭示它的一些情況。檢查XAML中的類名和屬性名是否根據相應的類和屬性進行了重命名。
btw,我正在使用MVVM模式。這與MVVM有關嗎? – kakopappa 2011-01-06 10:51:43