Это действительно необходимо, потому что какой-то сторонний код, такой как log4net , может каким-то образом запускать свой код даже перед статическим конструктором Программы ?
Я пытался встроить log4net.dll в качестве ресурса проекта и динамически загружать его при необходимости, используя обработчик событий для AppDomain.AssemblyResolve
.Однако самый быстрый пункт в программе, который я могу здесь вставить, находится в статическом конструкторе Программы (для регистрации обработчика событий):
static class Program {
static Program(){
AppDomain.CurrentDomain.AssemblyResolve += (s,e) => {
//...
};
}
}
Но log4net каким-то образом даже задействован / указан ранееэта точка и это означает, что она не может быть динамически загружена, если не найдена какая-либо необработанная dll, будет выдано исключение FileNotFoundException.
Не могли бы вы дать мне несколько советов о том, что мы можем сделать в этом случае для запуска некоторого кода еще до log4net ?или вообще как то что я просил, как можно скорее?