#asp.net-core #iis #.net-core #coreclr #dnspy
#asp.net-core #iis #.net-core #coreclr #dnspy
Вопрос:
Я не могу найти способ подавить оптимизацию JIT в процессе .NET Core 2.2. Это не позволяет мне подключаться к отладчику в рабочей среде и просматривать все локальные переменные.
В .NET Framework я мог бы добавить INI-файл с тем же именем, что и DLL, которую я хотел предотвратить оптимизацией, как показано здесь . Но, похоже, это не работает с .NET Core.
Отладчики, такие как Visual Studio и dnSpy, могут подавлять оптимизацию при запуске процесса, поэтому это должно быть возможно каким-то образом. В качестве обходного пути я мог бы запустить процесс с помощью отладчика, но я использую IIS и не могу найти способ запустить с его помощью w3wp worker.
Ответ №1:
Попробуйте установить переменную среды COMPlus_JITMinOpts=1
для процесса
Комментарии:
1. Вы пытались (если это вообще возможно) развернуть отладочную сборку в рабочей среде? Это должна быть какая-то переменная среды… Вы можете запустить процесс с помощью отладчика, в котором вы заметили, что оптимизация JIT подавлена, а затем заставить приложение выводить все свои переменные среды.
2. Также убедитесь, что ваше приложение действительно видит
COMPlus_JITMinOpts=1
, заставив приложение выводить это значение на консоль или где-то еще.3. @AlexBuyny Да, я убедился в регистрации 🙂 Что касается развертывания сборки отладки — да, это работает, но это именно то, чего я хочу избежать. Я хочу иметь возможность изменять без повторного развертывания.