Выявление / устранение различий в идентичной сборке.NET EXE
Я снова пытаюсь сравнить два.exe, на этот раз с некоторыми изменениями.
- Сборка проекта в Microsoft Visual Studio 2010
- Целевая структура проекта = .NET Framework 3.5 Профиль клиента
Я строю проект, запускаю dumpbin /rawdata
на.exe и вывод в текстовый файл. Далее я пересобираю проект и запускаю dumpbin /rawdata
на новый.exe и вывод в новый текстовый файл. Затем я проверяю CRC каждого из них, чтобы убедиться, что они одинаковы (никаких изменений не происходит между сборками).
Я получаю разные значения CRC. Когда я запускаю необработанные данные через windiff
Я вижу различия в Raw Data #1
раздел, который, я считаю, представляет собой фактические данные, сгенерированные из исходного кода проекта (пожалуйста, исправьте, если я ошибаюсь).
Есть 3 области различий в Raw Data #1
один из которых включает в себя.pdb.
Вопросы:
- Кто-нибудь знает, где можно отключить отладочную информацию в VS 2010 (аналогично
Project Property Pages -> Config Properties -> Linker -> Debugging -> Generate Debug Info
в VS 2005) - Есть ли уловки, чтобы узнать, где выделенные различия в WINDIFF действительно существуют в исходном коде?
Спасибо, ЗейДжей
PS - не стесняйтесь просить разъяснений, и спасибо большое снова. Я искал некоторое время с небольшим успехом. Так рада, что нашла этот ресурс.
РЕДАКТИРОВАТЬ / ОБНОВИТЬ Мой сдвиг теперь превратился в компиляцию кода с помощью ngen, чтобы обойти MSIL и все, что там показывалось как различия. Одно из различий было в этой области: <PrivateImplementationDetails>{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}.Dictionary
... и я не могу сделать что-то из ascii с другой разницей (я избавился от информации.pdb).
Я хотел бы знать, есть ли способ просмотреть / извлечь скомпилированный код для просмотра.
я пробовал ngen display "App Name"
и поиск в WINDOWS/assembly
но не могу найти ничего уместного (кроме того, я не знаю на 100%, что я ищу...)
Спасибо за ваше время, ZayJay
1 ответ
Есть несколько инструментов для разборки сборок, Скотт Хансельман перечисляет некоторые из них в своем блоге.
Этот вопрос имеет еще несколько