Eazfuscator.NET логирование? - PullRequest
       3

Eazfuscator.NET логирование?

1 голос
/ 06 января 2011

Я использую Eazfuscator.NET 3.0.41 для маскировки приложения (VS 2010) WPF 4.После запутывания, когда я дважды щелкаю exe-файл, выдается сообщение об ошибке, подобное этому.

"Описание: процесс был прерван из-за необработанного исключения. Информация об исключении: System.Windows.Markup.XamlParseException"

Есть ли способ, которым я мог бы включить какое-то ведение журнала, чтобы проверить, где идет ошибка?Как я могу решить эту проблему?пожалуйста, совет

Ответы [ 2 ]

5 голосов
/ 06 января 2011

Спасибо за ваш быстрый ответ.

Я нашел решение для этого. Вот что происходит.

Когда Eazfuscator запутывает приложения WPF, он не запутывает код BAML, но изменяет имена методов, которые ссылаются на BAML, как события OnMouseClick. Поэтому, когда приложение загружается, оно будет искать соответствующие события и, поскольку их больше нет, вызовет эту ошибку.

Чтобы решить эту проблему, каждое событие, связанное с событием в WPF, должно быть помечено этой особенностью

[System.Reflection.Obfuscation(Exclude = true)] 

Например.

[System.Reflection.Obfuscation(Exclude = true)] 
private void Window_Loaded(object sender, RoutedEventArgs e)
{

}

Самый простой способ устранения ошибок такого рода - открыть редактор VS 2010, изменить его на режим выпуска и запустить.

Надеюсь, это поможет кому-то еще.

2 голосов
/ 06 января 2011

Открытие обфусцированного выхода в Reflector может пролить некоторый свет на него.Проверьте, были ли имена классов и свойств в вашем XAML переименованы согласно соответствующим классам и свойствам.

...