WPF бросил исключение после использования dotfuscator?

Я использую dotfuscator 4.12 для шифрования EXE и DLL в моем приложении!

Но после шифрования я запустил свое приложение, и оно было разбито с помощью следующего стека вызовов

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

1

Решение

Я сомневаюсь, что это вызвано Dotfuscator.

Убедитесь, что у вас есть все зависимости \ ссылки в нужном месте. Обычно, когда вы получаете исключение «Set 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
}
0

Другие решения

Что ж, довольно часто приложение перестает работать должным образом после запутывания.

Если вы используете обфускатор, то вы хотите запутать как можно больше кода, но иногда вам придется отключить некоторые параметры в обфускаторе, к сожалению.

Обычно, когда наша команда сталкивается с такой проблемой, мы используем бинарный поиск, чтобы найти проблему)))

Мы отключаем половину флажков в инструменте обфускатора, а затем пытаемся запустить его и перехватить исключение на том же этапе в программе.
Этот процесс продолжается до тех пор, пока вы не поймете, какая опция для какого модуля вызывает эффект. Большую часть времени причиной такого поведения является обрезка или запутывание себя.

0

По вопросам рекламы [email protected]