Réflecteur .NET

Un article de Wikipédia, l'encyclopédie libre
Aller à la navigation Aller à la recherche
Réflecteur .NET
Auteur(s) original(s)Lutz Röder
Développeur(s)Logiciel de porte rouge
Version stable
10.3.0.1936 / 15 octobre 2020 ; il y a 20 mois ( 2020-10-15 )
Système opérateurWindows 7 ou version ultérieure
Plateforme.NET Framework 4.7.2 ou version ultérieure
TaperNavigateur et décompilateur de classes
Licence Logiciel commercial propriétaire
Site Internetwww .reflector .net

.NET Reflector est un navigateur de classes , un décompilateur et un analyseur statique pour les logiciels créés avec .NET Framework , écrit à l'origine par Lutz Roeder. MSDN Magazine l'a nommé comme l'un des dix utilitaires indispensables pour les développeurs, [1] et Scott Hanselman l'a répertorié dans le cadre de ses "Big Ten Life and Work-Changing Utilities". [2]

Vue d'ensemble

Il peut être utilisé pour inspecter, naviguer, rechercher, analyser et parcourir le contenu d'un composant CLI tel qu'un assemblage et traduit les informations binaires sous une forme lisible par l'homme. Par défaut, Reflector permet la décompilation des assemblages CLI en C# , Visual Basic .NET , C++/CLI [3] et Common Intermediate Language et F# (version alpha). Reflector inclut également un "Call Tree" qui peut être utilisé pour explorer les méthodes de langage intermédiaire pour voir quelles autres méthodes elles appellent. Il affichera les métadonnées , les ressources et XMLDocumentation. .NET Reflector peut être utilisé par les développeurs .NET pour comprendre le fonctionnement interne des bibliothèques de code, pour montrer les différences entre deux versions du même assembly et comment les différentes parties d'une application CLI interagissent les unes avec les autres. Il existe un grand nombre de compléments pour Reflector.

.NET Reflector peut être utilisé pour traquer les problèmes de performances et les bogues , parcourir les classes et maintenir ou aider à se familiariser avec les bases de code. Il peut également être utilisé pour rechercher des dépendances d'assembly, et même des dépendances DLL Windows , en utilisant l'option Analyzer. Il y a un arbre d'appel et un navigateur d'héritage. Il récupérera la même documentation ou les mêmes commentaires qui sont stockés dans des fichiers XML avec leurs assemblys associés qui sont utilisés pour piloter IntelliSense dans Visual Studio . Il est même possible de parcourir la documentation connexe ( xmldoc), en recherchant des types, des membres et des références spécifiques. Il peut être utilisé pour convertir efficacement le code source entre C# et Visual Basic.

.NET Reflector a été conçu pour héberger des compléments afin d'étendre ses fonctionnalités, dont beaucoup sont open source . Certains de ces compléments fournissent d'autres langages qui peuvent également être désassemblés, tels que PowerShell , Delphi et MC++ . D'autres analysent les assemblages de différentes manières, fournissant des métriques de qualité, des diagrammes de séquence, des diagrammes de classes, des matrices de structure de dépendance ou des graphiques de dépendance. Il est possible d'utiliser des compléments pour rechercher du texte, enregistrer du code désassemblé sur le disque, exporter un assemblage vers XMI/UML, comparer différentes versions ou rechercher du code. D'autres compléments permettent de déboguer les processus. Certains compléments sont conçus pour faciliter les tests en créant des stubs et des wrappers.

Historique

.NET Reflector a été initialement développé par Lutz Roeder en tant que logiciel gratuit . Ses premières versions remontent à janvier 2001. [4]

Archive.org héberge une collection des premières versions de Reflector.

Le 20 août 2008, Red Gate Software a annoncé qu'il prenait la responsabilité du développement futur du logiciel. [5]

En février 2010, Red Gate a publié .NET Reflector 6 avec une édition commerciale Pro qui permettait aux utilisateurs d'accéder au code décompilé dans le débogueur Visual Studio comme s'il s'agissait de leur propre code source.

Le 10 janvier 2011, Red Gate a annoncé que .NET Reflector 7 incorporerait le complément PowerCommands de Jason Haley. [6]

Le 1er février 2011, Red Gate a annoncé que .NET Reflector deviendrait un produit commercial à partir de la version 7, [7] qui a été publiée le 14 mars 2011. Cela a conduit à la création de plusieurs alternatives gratuites, notamment dotPeek, [8] CodeReflect et le programme open source ILSpy. Par la suite, le 26 avril 2011, en raison des commentaires de la communauté, Red Gate a annoncé qu'il continuerait à rendre .NET Reflector 6 disponible gratuitement pour les utilisateurs existants (tandis que les nouveaux utilisateurs devront payer pour Reflector). [9]

Références

  1. ^ Avery, James (2004-07-01). "Dix outils indispensables que chaque développeur devrait télécharger maintenant" . Magazine MSDN. Archivé de l'original le 19 septembre 2008 . Récupéré le 20/08/2008 .
  2. ^ Hanselman, Scott (2007-08-23). "Liste d'outils ultimes pour les développeurs et les utilisateurs expérimentés de Scott Hanselman 2007 pour Windows" . Archivé de l'original le 14 septembre 2008 . Récupéré le 20/08/2008 .
  3. ^ Wills, doyen. "Complément C++/CLI pour .NET Reflector" .
  4. ^ Roeder, Lutz. "Programmation.Net de Lutz Roeder" . Archivé de l'original le 2 juillet 2016 . Récupéré le 4 juillet 2016 .
  5. ^ Cramblitt, Bob (2008-08-20). "L'avenir du réflecteur .NET" . Archivé de l'original le 22 août 2008 . Récupéré le 20/08/2008 .
  6. ^ Lis, Bart. "Plus de grandes nouvelles : .NET Reflector 7 Beta, l'intégration du complément PowerCommands de Jason Haley est désormais disponible" . Conversation simple . Récupéré le 20 janvier 2011 .
  7. ^ Davidson, Neil. "Une lettre ouverte à la communauté .NET" . Archivé de l'original le 2011-02-05 . Récupéré le 02/02/2011 .
  8. ^ "Blog des outils JetBrains .NET : dotPeek - Le décompilateur .NET gratuit est disponible pour un accès anticipé" .
  9. ^ Davidson, Neil. "Pourquoi nous avons annulé une partie de notre décision Reflector" . Archivé de l'original le 16 janvier 2013.