stringtranslate.com

.NET-отражатель

.NET Reflector — это обозреватель классов , декомпилятор и статический анализатор программного обеспечения, созданного с помощью .NET Framework , первоначально написанный Лутцем Рёдером. Журнал MSDN назвал ее одной из десяти обязательных утилит для разработчиков, [1] а Скотт Хансельман включил ее в свою «Большую десятку утилит, меняющих жизнь и работу». [2]

Обзор

Его можно использовать для проверки, навигации, поиска, анализа и просмотра содержимого компонента CLI, такого как сборка , и преобразования двоичной информации в удобочитаемую форму. По умолчанию Reflector позволяет декомпилировать сборки CLI в C# , Visual Basic .NET , C++/CLI [3] , а также Common Intermediate Language и F# (альфа-версия). Reflector также включает «дерево вызовов», которое можно использовать для детализации методов промежуточного языка и просмотра других методов, которые они вызывают. Он покажет метаданные , ресурсы и документацию XML . .NET Reflector может использоваться .NET-разработчиками для понимания внутренней работы библиотек кода, демонстрации различий между двумя версиями одной и той же сборки и того, как различные части приложения CLI взаимодействуют друг с другом. Для Reflector существует большое количество надстроек.

.NET Reflector можно использовать для отслеживания проблем с производительностью и ошибок , просмотра классов, а также для поддержки или помощи в ознакомлении с базами кода. Используя параметр «Анализатор», его также можно использовать для поиска зависимостей сборок и даже зависимостей Windows DLL . Есть дерево вызовов и наследование-браузер. Он будет использовать ту же документацию или комментарии, которые хранятся в XML-файлах вместе со связанными с ними сборками, которые используются для управления IntelliSense внутри Visual Studio . Возможна даже перекрестная навигация по связанной документации ( xmldoc), поиск конкретных типов, членов и ссылок. Его можно использовать для эффективного преобразования исходного кода между C# и Visual Basic.

.NET Reflector был разработан для размещения надстроек, расширяющих его функциональность, многие из которых имеют открытый исходный код . Некоторые из этих надстроек предоставляют другие языки, которые также можно дизассемблировать, например PowerShell , Delphi и MC++ . Другие анализируют сборки разными способами, предоставляя метрики качества, диаграммы последовательностей, диаграммы классов, матрицы структур зависимостей или графы зависимостей. Можно использовать надстройки для поиска текста, сохранения дизассемблированного кода на диск, экспорта сборки в XMI/UML, сравнения различных версий или поиска кода. Другие надстройки позволяют отлаживать процессы. Некоторые надстройки предназначены для облегчения тестирования путем создания заглушек и оболочек.

История

.NET Reflector изначально был разработан Лутцем Рёдером как бесплатное ПО . Его первые версии датируются январем 2001 года. [4]

На Archive.org размещена коллекция ранних версий Reflector.

20 августа 2008 года Red Gate Software объявила, что берет на себя ответственность за будущую разработку программного обеспечения. [5]

В феврале 2010 года Red Gate выпустила .NET Reflector 6 вместе с коммерческой версией Pro, которая позволяла пользователям работать с декомпилированным кодом в отладчике Visual Studio, как если бы это был их собственный исходный код.

10 января 2011 года Red Gate объявила, что .NET Reflector 7 будет включать надстройку PowerCommands Джейсона Хейли. [6]

1 февраля 2011 года Red Gate объявила, что .NET Reflector станет коммерческим продуктом начиная с версии 7, [7] , выпущенной 14 марта 2011 года. Это привело к созданию нескольких бесплатных альтернатив, включая dotPeek, [8] CodeReflect и программа с открытым исходным кодом ILSpy. Впоследствии, 26 апреля 2011 года, благодаря отзывам сообщества, Red Gate объявили, что они продолжат предоставлять .NET Reflector 6 бесплатно для существующих пользователей (в то время как новым пользователям придется платить за Reflector). [9]

Рекомендации

  1. ^ Эйвери, Джеймс (1 июля 2004 г.). «Десять инструментов, которые каждый разработчик должен иметь прямо сейчас». Журнал MSDN. Архивировано из оригинала 19 сентября 2008 года . Проверено 20 августа 2008 г.
  2. ^ Гензельман, Скотт (23 августа 2007 г.). «Список инструментов Скотта Хансельмана для разработчика и опытных пользователей 2007 года для Windows». Архивировано из оригинала 14 сентября 2008 года . Проверено 20 августа 2008 г.
  3. ^ Уиллс, Дин. «Надстройка C++/CLI для .NET Reflector».
  4. ^ Редер, Лутц. «Programming.Net Лутца Рёдера». Архивировано из оригинала 2 июля 2016 года . Проверено 4 июля 2016 г.
  5. ^ Крамблитт, Боб (20 августа 2008 г.). «Будущее .NET Reflector». Архивировано из оригинала 22 августа 2008 года . Проверено 20 августа 2008 г.
  6. ^ Читай, Барт. «Еще важные новости: бета-версия .NET Reflector 7, интеграция надстройки PowerCommands Джейсона Хейли теперь доступна». Простой разговор . Архивировано из оригинала 17 января 2011 года . Проверено 20 января 2011 г.
  7. ^ Дэвидсон, Нил. «Открытое письмо сообществу .NET». Архивировано из оригинала 5 февраля 2011 г. Проверено 2 февраля 2011 г.
  8. ^ «Блог об инструментах JetBrains .NET: dotPeek — бесплатный декомпилятор .NET доступен для раннего доступа» .
  9. ^ Дэвидсон, Нил. «Почему мы отменили некоторые решения Reflector» . Архивировано из оригинала 16 января 2013 года.