Я только что посмотрел предыдущие вопросы по теме, но получил странные результаты.
Прежде всего, я следовал и использовал метод, предложенный Скоттом Хансельманом в старой статье в его блоге.: http://www.hanselman.com/blog/HowToProgrammaticallyDetectIfAnAssemblyIsCompiledInDebugOrReleaseMode.aspx
Таким образом, используя IsJITOptimizerDisabled, я должен проверить, скомпилирована ли конкретная DLL в режиме выпуска или в режиме отладки.
Странно то, что я только что попробовалон построил простое приложение, которое проверяет это свойство и уведомляет инспектируемую сборку в режиме отладки или в режиме выпуска.Проверил результаты и все в порядке с двумя dll, которые я уже скомпилировал в обоих режимах.
Затем я передал это простое приложение коллеге, который подтвердил, что на его рабочей станции результаты соответствуют ожидаемым, отладка dll показывает «Отладка».", выпуск показывает" Выпуск "(эти два dll содержатся в одном и том же zip-файле простого приложения).
Но когда он пытается проверить эти dll с этим простым приложением на другом сервере (через mstsc)для обеих dll простое приложение показывает «Debug» (даже если открыть DLL с помощью ILDASM, все выглядит нормально, а некоторые специфические методы, содержащиеся в области «#if DEBUG», отсутствуют в dll Relase).
Теперь, я схожу с ума, есть ли какая-то причина этого вопроса?Я слишком стар, чтобы видеть, что происходит?Может ли отражение как-то зависеть от окружающей среды?Есть какой-нибудь пакет обновления, который решил похожую известную проблему?
Cheers,
Gianluca