Давно мы не выпускали обновлений для декомпилятора.
А вчера выпустили: dotPeek 1.1 теперь доступен для широкой публики.
Напомним, dotPeek — это бесплатный декомпилятор .NET-сборок, который показывает результирующий код на языке C# и позволяет изучать его с помощью многообразных функций навигации и поиска, что знакомы и, будем надеяться, симпатичны пользователям другого нашего продукта, ReSharper. В частности, в dotPeek можно проводить поиск конкретного типа, символа или члена класса во всех загруженных сборках; переходить от деклараций символов к их использованиям и наоборот; анализировать иерархии наследования. Кроме того, при наличии файлов отладочной информации (.pdb) dotPeek показывает оригинальный исходный код сборок и дружит с серверами символов, такими как Microsoft Reference Source Center и SymbolSource.org, с которых при необходимости может скачивать исходный код различных библиотек.
Что касается собственно новой версии, то она может быть интересна .NET-разработчикам по нескольким причинам:
- dotPeek теперь позволяет экспортировать декомпилированные сборки в проекты (.csproj). Нас об этом долго и убедительно просили, и вот оно, счастье: восстанавливать потерянные исходники по оставшимся библиотекам теперь гораздо проще. Помимо создания проекта и сохранения восстановленного исходного кода в его структуре, dotPeek умеет создавать файлы решений (.sln), воспроизводить структуру папок и файлов на основании отладочной информации, настраивать тип проекта исходя из типа сборки, сохранять историю экспортов и напоминать о том, что та или иная сборка уже была сохранена в виде проекта.
- Логичным образом из первого пункта вытекает второй: файлы проектов (.csproj) и их содержимое теперь можно изучать, не выходя из dotPeek. Это удобно в случаях, когда одна часть изучаемого кода доступна в исходной форме, а другая — только в виде сборок.
- Декомпиляция BAML — еще одна давно ожидаемая возможность, позволяющая изучать разметку пользовательского интерфейса сборок WPF-приложений.
- Появилась поддержка декомпиляции async-методов из последней версии C# 5.0 и деревьев выражений (expression trees) из LINQ. Исправлена декомпиляция событий C#.
- Навигация по сборкам и их содержимому улучшена за счет введения команды Go to Everything по следам ReSharper 8: она объединяет поиск файлов, типов, членов классов, пространств имен и сборок.
- Еще в первой версии dotPeek мы постарались перетащить в него максимум релевантной функциональности из ReSharper, но кое-что получилось не сразу. Сейчас наверстываем: в версии 1.1 в декомпиляторе появились закладки, которые (парадоксальным и необъяснимым образом) помогают помечать наиболее интересные строки кода в изучаемых сборках и быстро возвращаться к ним по мере необходимости.
- dotPeek научился сохранять состояние окон и списка недавно открытых файлов, и теперь восстанавливает все эти параметры после закрытия и повторного открытия приложения.
- В дополнение к .msi-инсталлятору dotPeek теперь распространяется в виде автономных 32- и 64-битного .exe-файлов. В связи с появлением этих новых вариантов распространения мы отказались от ранее бытовавшего .zip-дистрибутива.
Полный список новой функциональности и улучшений в dotPeek 1.1 можно посмотреть здесь.
Загрузить новую версию декомпилятора можно с нашего официального сайта. Продукт бесплатен, лицензия не требуется: просто берите и работайте.
Автор: gorohoroh