Dot net assembly viewer?

I have a dll that contains a dot net assembly - common intermediate language. The problem is that it's lacking documentation and I need to figure out the api like available classes, properties and methods, correct parameters to pass etc.

Whats the best way to do this. I need some sort of viewer/inspector but I couldn't find any.

Thanks.

Answers


Try reflector. http://www.red-gate.com/products/reflector/

Its free :-)

Edit: As of February 2011, its no longer free ...:( There are alternatives like ilspy or JetBrains dotPeek.


Please try ILSpy. It is very good tool to view the assembly info. Assembly Analyzer is another tool for analyzing the metadata and resources within a .NET assembly, as well as disassembling non-CLI executable files.


Having tried a bunch of them (CodeReflect, Dis#, JustDecompile, ILSpy, dotPeek), one thing I realised is that most decompilers don't show you code in a very readable fashion. ILSpy is good, except that everything seem to be so cluttered. There are almost no new line at all between class members.

In that respect JustDecompile and dotPeek stand out. JustDecompile looks more polished with a slightly better interface to work with, except that it comes with a web installer, and you have to register as well in the process.

They all have strength and weaknesses, but my choice would be dotPeek which do not force you to register. It also comes with handy Visual Studio shortcuts which makes the whole experience familiar (for eg F12 to navigate to definition). With either of them you have a decent decompiler.


JetBrains dotPeek works great and is free, highly recommend.


Need Your Help

Standard names for HTML input fields

html forms standards

I've tried searching for the answer to this question all kinds of ways but with no success.

jQuery .each best practice to format and send via ajax

javascript jquery ajax

What is the best practice to run .each and send the value as an array via ajax.