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.
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.
JetBrains dotPeek works great and is free, highly recommend.
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.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.