Nlog не излучает сообщения с запутыванием
-
25-09-2019 - |
Вопрос
У меня есть приложение, которое я пытаюсь запутать. Когда не подтверждено, программа выделяет сообщения о регистрации NLOG, но после запутывания он вообще не генерирует никаких сообщений, даже если остальная часть приложения работает как ожидалось. Я попробовал несколько запутывателей, и у них такие же симптомы. У кого-нибудь есть какие-либо предложения о местных местах. Я сгенерировал внутренние ведения лесозаготовок NLOG, и они отображаются идентичными. Моя конфигурация довольно проста:
// enable internal logging to the console
InternalLogger.LogToConsole = true;
// enable internal logging to a file
InternalLogger.LogFile = "log.txt";
// set internal log level
InternalLogger.LogLevel = LogLevel.Trace;
LogTarget = new MemoryTarget();
LogTarget.Layout = "${message}";
NLog.Config.SimpleConfigurator.ConfigureForTargetLogging(LogTarget, LogLevel.Trace);
Решение
Скорее всего, NLOG использует отражение каким-то образом, что вызывает запущенную сборку, чтобы выйти из системы.
Вы также запутаете сборку NLOG или просто вашу собственную сборку?
Попробуйте повернуть «Символ переименования» в вашем инструменте обфускации, чтобы увидеть, имеет ли это значение. Если это работает, то вы знаете причину, и вы можете сверлить, чтобы исключить из переименования соответствующих классов / членов.