我正在使用Eazfuscator.NET 3.0.41来混淆一个(VS2010)WPF4应用程序。在混淆之后,当我双击exe文件时,它抛出了一条错误消息,如下所示。
“描述:由于未处理的异常,进程已终止。异常信息: System.Windows.Markup.XamlParseException”
有没有办法让我启用某种日志记录来检查哪里出了问题?我该如何解决这个问题?敬请指教
发布于 2011-01-06 19:11:12
感谢您的快速响应。
我找到了解决这个问题的办法。下面是发生的事情。
当Eazfuscator混淆WPF应用程序时,它不会混淆BAML代码,但它会像OnMouseClick事件一样更改引用BAML的方法名称。因此,当应用程序加载时,它将查找相应的事件,因为它们不再存在,因此将触发此错误。
要解决此问题,必须使用此数字标记绑定到WPF中的事件的每个事件
[System.Reflection.Obfuscation(Exclude = true)] 例如:
[System.Reflection.Obfuscation(Exclude = true)]
private void Window_Loaded(object sender, RoutedEventArgs e)
{
}解决此类错误的最简单方法是打开VS2010编辑器,将其更改为发布模式并运行。
希望这对其他人也有帮助。
发布于 2011-01-06 18:58:26
在Reflector中打开模糊输出可能会给它带来一些启发。检查XAML中的类和属性名称是否根据相应的类和属性进行了重命名。
https://stackoverflow.com/questions/4614098
复制相似问题