Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Какое бы время вы не занимались .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... является названием популярной детской игры, заключающейся в загадывании одним игроком определенного предмета, который должен отгадать другой игрок.