2011-01-06 194 views
1

我正在使用Eazfuscator.NET 3.0.41來混淆(VS 2010)WPF 4應用程序。混淆之後,當我雙擊exe文件時,它會拋出這樣的錯誤消息。Eazfuscator.NET日誌記錄?

「說明:該過程由於未處理的異常終止 異常信息:System.Windows.Markup.XamlParseException」

有沒有一種方法,我可以使某種日誌記錄,以檢查它是怎麼回事錯了?我怎麼解決這個問題?請指教

+0

btw,我正在使用MVVM模式。這與MVVM有關嗎? – kakopappa 2011-01-06 10:51:43

回答

4

感謝您的快速響應。

我找到了解決方案。這是發生了什麼。

當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編輯器,將其更改爲發佈模式並運行。

希望這會幫助別人也是如此。

2

打開在反射器混淆輸出可能揭示它的一些情況。檢查XAML中的類名和屬性名是否根據相應的類和屬性進行了重命名。