Posts filed under '.Net'
RedGate recently announced that from the next version of Reflector (v7), they will charge $35 for a licence. Since the announcement a few weeks ago, there has been quite a backlash against the decision from the .Net community, mainly because RedGate have put a time-bomb in the currently free version so that it will expire at the end of May 2011.
In response to this announcement, several alternatives to Reflector have surfaced - some free, some commercial. The list below outlines all of the alternatives, some of which have been around for many years.
- JetBrains ReSharper [commercial + free]
Within a day of the announcement, JetBrains put out a teaser suggesting that a decompiler was in the works. Two weeks later, they announced that the next version of ReSharper will have an integrated decompiler akin to reflector, along with a free standalone version to be released later in the year.
- Telerik JustCode [commercial]
Just as JetBrains put out a teaser, Telerik followed suit and showed a decompilation feature that will be in the next version of their JustCode tool.
- ldasm [free]
This tool comes bundled with the Windows SDK Tools (that get installed as part of Visual Studio). It is purely an IL disassembler, and so cannot decompile to C#.
- ILSpy [free]
The team behind SharpDevelop have been working hard on ILSpy and have already released a major milestone of v1 of their decompiler. It can decompile to C#.
- Cecil Studio [free]
This is a Windows forms UI based on the Mono Cecil library. It has already been around for a few years.
- MonoReflector [free]
This is a WPF UI based on the Mono Cecil library.
- MonoDevelop Assembly Browser [free]
Released for the first time in version 2.0 of MonoDevelop (currently at v2.4.2).
- Salamander .Net Decompiler [commercial]
This is part of a larger tool called .Net Explorer.
- Dis# [commercial]
This tool has been around for a while, but is not often mentioned. It is not as polished as Reflector and does not support never versions of .Net, but has some nice features not seen anywhere else. Once such feature is to rename the decompiled variables within the tool to give them a more meaningful name.
- Spices .Net Decompiler [commercial]
As well as decompiling to IL, C#, J#, C++ and Delphi.Net, this tool has a feature to build code flow diagrams from the decompiled source to show the execution flow.
- Decompiler.NET [commercial]
This is s decompiler combined with an obfuscator, language translator and refactoring tool that integrates with Visual Studio.
- Keep Decompiling Free
This website popped up recently with nothing more than a teaser to get more information when it is available.
- RedGate Reflector [commercial]
Of course, there is still the current king of them all, albeit in a now charged-for format. Still well worth the $35.
Which of these will turn out to be the best/most successful to take Reflector’s throne is yet to play out, but there seems to be a healthy interest from both the community and commercial aspects in making a replacement.
March 2nd, 2011
I have ReSharper installed and think it is a great tool for productivity, but occasionally I find it useful to temporarily disable it to speed up Visual Studio (especially so on my old slow laptop). This is achieved in two different ways, depending on the version of ReSharper.
In versions prior to version 5, ReSharper appears in the Add-in Manager dialog, accessed via the Tools menu. Using this dialog, you can uncheck the ReSharper add-in which will suspend it (the menu will still be visible, but its functionality will be disabled).
Checking it again will re-enable it. Both of these actions can be performed without restarting Visual Studio.
In version 5, ReSharper no longer appears in the add-ins dialog. At first glance, I though the ability to disable ReSharper was no longer available. As it turns out, it is now part of ReSharper itself and is accessed via the Tools -> Options -> ReSharper -> General dialog. Clicking the suspend button will suspend ReSharper and disable its functionality. Once suspended, clicking the resume button will re-enable it.
This applies to all versions of Visual Studio - the difference is based on the version of ReSharper only.
June 10th, 2010
I recently visited a customer site to diagnose some problems with an application deployed on a server. Because I was effectively “visiting blind” in not knowing what was wrong or even if I would have internet access, I had to pre-empt any potential problems and take whatever tools I would need to diagnose them with me.
The following is a list of the tools I took:
- Active Ports
This is an equivalent to running
netstat -nabv 5 from the command line, but wraps a nice GUI around it with the ability to look up the host names for connected IP addresses.
This is a simple log file viewer that can “tail” a running log and apply highlighting based on custom searches.
This is a tool that comes as part of the Visual Studio SDK and enables a .Net application to be forced to run as 32-bit on 64-bit hardware. Existing applications can be tweaked without re-compilation.
- Culture Launcher
This is one of my own tools that can launch an .Net application using a different culture/language. The culture and UI culture can be set independently of each other.
- Error Lookup
This is a small tool that comes with Visual Studio (when you install the C++ components). It enables Win32 error codes to be translated into “meaningful” English error messages.
- Managed Stack Explorer
This is a tool that can preiodically capture stack traces from running .Net applications. It also shows a variety of information about the managed processes and threads running on a machine.
- Red Gate Diagnostics Tool
This is a tool from Red Gate that collects lots of system information from a computer. It is very useful because of the amount of data that it collects all in one place.
- Snippet Compiler
This is like a cut-down version of Visual Studio. It has an IDE-like editor (with only basic intellisense) and can compile and run .Net applications. The biggest plus is that it requires no installation.
This is a tool that gives a visual representation of disk usage for a whole drive. This version is an older version of the tool, but is the last version that is free.
This is the famous SysInternals Suite of tools, now owned by Microsoft, but still occasionally updated with new features and bug fixes. This contains lots of file, disk, network, process, registry and system utilities.
This toolset (along with a few custom-written SQL scripts) provided me with everything I needed to collect all the information I needed to get to the bottom of the problems.
July 8th, 2008
When working with several source control branches, especially with a large solution with many projects, it is not always practical to open Visual Studio to perform a quick build. Using NAnt is one alternative solution, but this requires creating and maintaining a build script. Using MSBuild from the command line is another option, but this involves getting the command line arguments correct, and working with command line output is not easy to visually filter. The same goes for using Visual Studio from the command line.
Gaston Milano has created a simple tool called Build Console capable of loading both MSBuild and Visual Studio solution files, and building any of the available build targets.
It’s main features are:
- The ability to choose which target/project to build.
- A build report in a tree structure to show the status of each project built.
- The ability to choose the verbosity of the build output.
- A coloured build output log to distinguish different types out log output.
- A ‘quick history’ to load recently built solutions.
Whilst a little rough around the edges, it comes in very handy for those times where you just need to compile quickly without the overhead of loading Visual Studio.
October 18th, 2007