ILSpyПосле того, как в феврале 2011 года компания Red Gate объявила, что .NET Reflector становиться платным, разработчики широко известного open source решения IDE SharpDevelop (бесплатной альтернативы Visual Studio) для .NET взялись за разработку своего Reflector'а, которым стал ILSpy.

Что умеет ILSpy

Внешне программа очень напоминает Reflector: слева доступные сборки, справа — код.

Пример работы ILSpy в качестве обозреватель объектов представлен ниже.

ILSpy - обозреватель объектов

Итак функции по порядку:

  • Просмотр содержимого сборки
  • Дизассемблирование IL кода
  • Поддержка C# 5.0 “async”
  • Декомпиляция проектов C#
    • Поддержка лямбда выражений и итераторов
    • Просмотр XML документации
  • Декомпиляция проектов Visual Basic
  • Сохранение ресурсов сборки
  • Сохранение декомпилированной сборки в формате проекта (*.csproj)
  • Сохранение сборки C# как проекта
  • Поиск типов/методов/параметров
  • Навигация на основе гиперссылок по типам/метода/свойствам
  • Навигация по базовым и производным типам (классам)
  • История навигации
  • Декомпиляция BAML в XAML
  • Список сборок
  • Поиск использованных полей/методов
  • Возможность расширения с помощью плагинов(MEF)

Как можно увидеть за время своего развития проект ILSpy обзавелся достаточно богатым функционалом. Здесь стоит отметить что все операции выполняются на лету, все зависит только от производительности вашего компьютера.

Далее хочу показать внешний вид программы при выполнении определенных функций, например отображении IL кода, скриншот ниже.

ILSpy - отображении IL кода

Далее представлен пример отображения ресурсов сборки с возможностью их сохранения в первозданном виде.

ILSpy - отображении ресурсов

Далее привожу пример декомпиляции ILSpy проекта, написанного на языке C# (CSharp). Причем декомпилированная версия мало чем отличается от реального проекта.  Во всяком случае на небольших проектах я разницы не заметил.

ILSpy - декомпиляция проектов C#

Самое главное что хочется отметить, проект ILSpy бесплатный и при этом продолжает развиваться, функционал расширяется. стабильность остается.

Ну и в завершение привожу ссылки на сайт проекта:
http://ilspy.net
И на исходные коды на GitHub:
https://github.com/icsharpcode/ILSpy
или здесь
http://build.sharpdevelop.net/BuildArtefacts/#ILSpy


28th Июл 2016
Теги:
Загрузка Все права защищены © 2016 ИТ-Инженер (Краснодар)
 
把手拿回