Jump to content

.NET Reflector

From Wikipedia, the free encyclopedia
.NET Reflector
Original author(s)Lutz Roeder
Developer(s)Red Gate Software
Stable release
10.3.0.1936 / 15 October 2020;3 years ago(2020-10-15)
Operating systemWindows 7or later
Platform.NET Framework 4.7.2or later
TypeClass browseranddecompiler
LicenseProprietarycommercial software
Websitewww.reflector.net

.NET Reflectoris aclass browser,decompilerand static analyzer for software created with.NET Framework,originally written by Lutz Roeder.MSDN Magazinenamed it as one of the Ten Must-Have utilities for developers,[1]andScott Hanselmanlisted it as part of his "Big Ten Life and Work-Changing Utilities".[2]

Overview[edit]

It can be used to inspect, navigate, search, analyze, and browse the contents of a CLI component such as anassemblyand translates the binary information to a human-readable form. By default Reflector allowsdecompilationof CLI assemblies intoC#,Visual Basic.NET,C++/CLI[3]andCommon Intermediate LanguageandF#( Alpha version). Reflector also includes a "Call Tree" that can be used to drill down intointermediate languagemethods to see what other methods they call. It will show themetadata,resources andXMLdocumentation..NET Reflector can be used by.NET developers to understand the inner workings of code libraries, to show the differences between two versions of the same assembly, and how the various parts of a CLI application interact with each other. There are a large number of add-ins for Reflector.

.NET Reflector can be used to track down performance problems andbugs,browse classes, and maintain or help become familiar with code bases. Using the Analyzer option, it can also be used to find assembly dependencies, and even windowsDLLdependencies. There is a call tree and inheritance-browser. It will pick up the same documentation or comments that are stored in xml files alongside their associated assemblies that are used to driveIntelliSenseinsideVisual Studio.It is even possible to cross-navigate related documentation (xmldoc), searching for specific types, members and references. It can be used to effectively convert source code between C# and Visual Basic.

.NET Reflector has been designed to host add-ins to extend its functionality, many of which areopen source.Some of these add-ins provide other languages that can be disassembled too, such asPowerShell,DelphiandMC++.Others analyze assemblies in different ways, providing quality metrics, sequence diagrams, class diagrams, dependency structure matrices or dependency graphs. It is possible to use add-ins to search text, save disassembled code to disk, export an assembly to XMI/UML, compare different versions, or search code. Other add-ins allow debugging processes. Some add-ins are designed to facilitate testing by creating stubs and wrappers.

History[edit]

.NET Reflector was originally developed by Lutz Roeder asfreeware.Its first versions can be tracked back to January 2001.[4]

Archive.org hosts a collection of the early versions of Reflector.

On 20 August 2008,Red Gate Softwareannounced they were taking responsibility for future development of the software.[5]

In February 2010 Red Gate released.NET Reflector 6 along with acommercialPro edition that enabled users to step into decompiled code in the Visual Studio debugger as if it were their own source code.

On 10 January 2011 Red Gate announced that.NET Reflector 7 would incorporate Jason Haley's PowerCommands add-in.[6]

On 1 February 2011 Red Gate announced that.NET Reflector would become a commercial product as of version 7,[7]which was released on 14 March 2011. This led to the creation of several free alternatives, including dotPeek,[8]CodeReflect and the open source program ILSpy. Subsequently, on 26 April 2011, due to community feedback Red Gate announced that they would continue to make.NET Reflector 6 available for free to existing users (while new users will have to pay for Reflector).[9]

References[edit]

  1. ^Avery, James (2004-07-01)."Ten Must-Have Tools Every Developer Should Download Now".MSDN Magazine. Archived fromthe originalon 19 September 2008.Retrieved2008-08-20.
  2. ^Hanselman, Scott (2007-08-23)."Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows".Archived fromthe originalon 14 September 2008.Retrieved2008-08-20.
  3. ^Wills, Dean."C++/CLI Add-in for.NET Reflector".
  4. ^Roeder, Lutz."Lutz Roeder's Programming.Net".Archived fromthe originalon 2 July 2016.Retrieved4 July2016.
  5. ^Cramblitt, Bob (2008-08-20)."The Future of.NET Reflector".Archived fromthe originalon 22 August 2008.Retrieved2008-08-20.
  6. ^Read, Bart."More Big News:.NET Reflector 7 Beta, Integrating Jason Haley's PowerCommands Add-in is Now Available".Simple Talk.Archived fromthe originalon 17 January 2011.Retrieved20 January2011.
  7. ^Davidson, Neil."An open letter to the.NET community".Archived fromthe originalon 2011-02-05.Retrieved2011-02-02.
  8. ^"JetBrains.NET Tools Blog: dotPeek - Free.NET Decompiler is Available for Early Access".
  9. ^Davidson, Neil."Why we reversed some of our Reflector decision".Archived fromthe originalon 16 January 2013.