.NET Reflector (QNET Reflector)

Перейти к навигации Перейти к поиску
.NET Reflector
Тип Утилита для разработчиков
Разработчики Lutz Roeder, Red Gate Software
Операционная система Windows
Последняя версия 10.3.1 (23 ноября 2020 года)
Сайт red-gate.com/products/do…


.NET Reflector — платная утилита для Microsoft .NET, комбинирующая браузер классов, статический анализатор и декомпилятор, изначально написанная Lutz Roeder. 20 августа 2008 Red Gate Software объявили, что они берут ответственность за дальнейшую разработку программы[1]. MSDN Magazine назвал её одной из десяти «Must-Have» утилит для разработчиков[2], Scott Hanselman включил её в свой «Big Ten Life and Work-Changing Utilities» (примерный перевод: большая десятка утилит, меняющих жизнь и работу)[3].

Возможности

[править | править код]

Программа может использоваться для навигации, поиска и анализа содержимого .NET-компонентов, а также сборок и переводить двоичные данные в форму, пригодную для чтения человеком. Reflector позволяет производить декомпиляцию .NET-сборок на языки C#, Visual Basic .NET и MSIL. Reflector также включает дерево вызовов (англ. Call Tree), которое может использоваться для навигации вглубь IL-методов с целью определения, какие методы они вызывают. Программа отображает метаданные, ресурсы и XML-документацию. .NET Reflector может быть использован .NET-разработчиками для понимания внутренней работы библиотек кода, для наглядного отображения различий между двумя версиями сборки, и того, как различные части .NET-приложения взаимодействуют друг с другом.

.NET Reflector может использоваться для нахождения мест, имеющих проблемы с производительностью и поиска багов. Он также может быть использован для поиска зависимостей сборки. Программа может быть использована для эффективной конвертации кода между C# и VB.NET.

Дополнения

[править | править код]

.NET Reflector позволяет использовать дополнения (англ. add-ins), расширяющие его функциональность, многие из которых имеют открытый исходный код. Некоторые из дополнений предоставляют другие языки, на которые может быть осуществлено дизассемблирование, такие как Windows PowerShell, Delphi и Managed C++. Другие анализируют сборки различными способами, предоставляя метрики качества, диаграммы последовательности, диаграммы классов, матрицы структуры зависимостей или графы зависимостей. Дополнения можно использовать для поиска текста, сохранения дизассемблированного кода на диск, экспортирования сборок в XMI/UML и сравнения различных версий. Другие дополнения позволяют отлаживать процессы. Некоторые дополнения разработаны для облегчения тестирования за счёт создания заготовок и врапперов.

Примечания

[править | править код]
  1. Cramblitt, Bob The Future of .NET Reflector (англ.) (20 августа 2008). Дата обращения: 21 ноября 2009. Архивировано из оригинала 22 августа 2008 года.
  2. Avery, James Ten Must-Have Tools Every Developer Should Download Now (англ.). MSDN Magazine (1 июля 2004). Дата обращения: 21 ноября 2009. Архивировано из оригинала 8 ноября 2008 года.
  3. Hanselman, Scott Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows (англ.) (23 августа 2007). Дата обращения: 21 ноября 2009. Архивировано из оригинала 1 сентября 2007 года.