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