Я разглядел своими маленькими глазками(*) … ILSpy
Какое бы время вы не занимались .NET-разработкой, вы наверняка слышали о программе .Net Reflector. Эта утилита декомпилирует .NET-сборки и позволяет видеть их как код C#/VB. Я не могу вспомнить, сколько раз эта программа спасала мою шкуру.
Недавно .Net Reflector перешла с модели свободного распространения (хотя она никогда не предоставляла исходный код) к платному распространению. Это поставило перед сообществом задачу поиска альтернатив с открытым исходным кодом.
Одним из самых популярных проектов стал ILSpy.
ILSpy является браузером и декомпилятором .NET-сборок.
Возможности ILSpy
- Просмотр сборок
- Дизассемблирование IL-кода
- Декомпиляция в C#
- Поддержка лямбда-выражений и оператора 'yield return'
- Сохранение ресурсов
- Поиск типов, методов и свойств (подстроки)
- Гиперссылочная навигация среди типов, методов и свойств
- Навигация по базовым и производным типам
- История навигации
- Декомпилятор BAML в XAML
- Сохранение сборки в виде проекта C#
- Нахождение мест использования полей и методов
- Расширяемость с помощью плагинов (MEF)
И хотя .Net Reflector потрясающий инструмент, нет ничего лучше, чем получить исходный код, чтобы видеть исходный код…
Говоря об исходнике, загрузка проекта, его компиляция и запуск проходят без проблем. Загружайте его, разархивируйте и просто работайте.
Прелесть в том, что можно видеть всё. Ничто не скрывается…
И это проект не только обеспечивает функциональность ILSpy, но также является реальным примером использования WPF-элемента управления для редактирования текста – ic#code AvalonEdit.
Это одно средство для просмотра внутренностей exe- и dll-файлов среды .NET. Есть еще кое-что с исходными кодами проекта, позволяющего вам выполнять просмотр…
(*) Прим. перев. Первая часть оригинального названия сообщения – I spy with my little eye... является названием популярной детской игры, заключающейся в загадывании одним игроком определенного предмета, который должен отгадать другой игрок.