我正在使用dotfuscator 4.12在我的应用程序中加密exe和dll!
,但是加密后,我运行了我的应用程序,并且随后呼叫stack
崩溃了Set connectionId threw an exception./n Stack Trace = 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 DVRServerInterface.MainWindow.InitializeComponent()
at DVRServerInterface.MainWindow..ctor()
我的应用程序正在使用WPF,它有13个项目包括C 和C#项目,所有项目都使用.NET Framework 4.0。当使用dotfuscator时,我已经检查了所有加密的选项。
有人可以帮助我修复它?
非常感谢,
t& t
我怀疑这是由dotfuscator引起的。
确保您在正确的位置有所有依赖项参考。通常,当您获得"设置ConnectionID丢下异常"异常时,您还具有一个Innerexception,应该告诉您缺少哪些参考。
当您发现异常时,请记录Innerexception的详细信息:
try
{
}
catch(Exception ex)
{
//ex.InnerException.Message and other exception details are accessible here, so just log them somewhere to see what's going on, but it can be null too so check for that first
}
好吧,很常见的是,应用程序在混淆后停止正常工作。
如果您使用的是obfuscator,那么您想尽可能多地混淆代码,但是有时您必须在obfuscator中禁用一些选项,以使其不幸。
。通常,当Out团队面临此类问题时,我们会使用二进制搜索来找到问题)))
我们在obfuscator工具中关闭了一半的复选框,然后尝试在程序中的同一步骤中启动并捕获异常。这个过程一直持续到您了解哪种选项在哪种选项上导致效果。在大多数情况下,这种行为的原因是修剪或混淆自己。