11 Tools Every ASP.NET Programmer Should Install

I found a great list of “6 Free Tools that every Windows Programmer should Install” via a contact of mine on Twitter, which made me want to create my own list, similar to the tools listed in the link above, with a few additions and changes:

  1. Firebug

    If you have Firefox, but you haven’t tried this yet, install it now. You’ll thank me later. Firebug is currently my most essential tool (besides Visual Studio, of course) to web development since it effortlessly debugs JavaScript and shows you the ins and outs of the DOM on any page you’re inspecting. Firebug is available as an extension for Firefox, or as a bookmarklet for any other browser.

    It’s also worth noting that Safari and Chrome (well, anything rendered with Webkit, it seems) have an excellent set of development tools built-in that are very similar to the functionality of Firebug in Firefox, and even IE8 is catching up to the game with its Developer Tools window/pane.

  2. Unlocker

    I agree with Ian, this program is excellent. Gives you some useful information for a change (and something you can do with it) when you get the message “Cannot delete <X>: It is being used by another person or program.”

  3. TortoiseSVN

    If you’ve been using Subversion for source control, I’m sure you’ve heard of this client. If not, get it immediately. It rocks, and integrates exceptionally well with Windows Explorer. (Not to mention Visual Studio, via AnkhSVN or VisualSVN)

  4. IETester

    Since Internet Explorer is the scourge of the Interwebs that will never go away, it helps to be able to test your site in multiple versions of IE, and since only one version can be installed at a time (and since IE8 Compatibility Mode doesn’t really help at all), IETester is a good solution that lets you test IE5.5, IE6, IE7, and IE8 rendering engines in the same tabbed browser. Very cool.

  5. VMWare Player

    …But, as my coworker mentioned, Internet Explorer is pretty invasive and modifies more on your system than just the rendering DLLs, so it’s a good idea to keep a spare VM running each flavor of IE as well. VMWare Player is the free version of VMWare Workstation, which will run pre-existing virtual machines, but can’t create new ones. Since that functionality is missing from VMWare Player, you can use this site to create your own virtual machines from scratch: EasyVMX! Virtual Machine Creator.

  6. .NET Reflector

    RedGate’s description says it best:
    “.NET Reflector enables you to easily view, navigate, and search through, the class hierarchies of .NET assemblies, even if you don’t have the code for them. With it, you can decompile and analyze .NET assemblies in C#, Visual Basic, and IL.”

  7. Sysinternals Suite (includes Process Explorer)

    Ian Hickman’s post (6 Free Tools that every Windows Programmer should Install) suggests Process Explorer alone, which is a superior Task Manager replacement, but I’ll extend it to suggest the whole Sysinternals Suite, since it comes with so many other great utilities and includes Process Explorer along with them. One of my favorite tools besides PE is AutoRuns, which is a msconfig.exe replacement that offers a much better look at your startup apps and services.

  8. WinMerge

    TortoiseSVN comes with its own diff tool, but I tend to end up using WinMerge instead because it does a great job with comparing local files or differing versions of a file in source control, and integrates seamlessly with TortoiseSVN.

  9. Launchy

    I’m definitely a keyboard junkie, so anything I can do to keep my hands on the keyboard is a plus. Launchy is by far my favorite application launcher for that reason. All I have to do is hit Alt+Space (you can reassign the hotkey if you like), and it brings up a prompt that allows me to launch anything on my Start Menu, and do a number of other tasks as well (launch websites, perform quick calculations, etc.). Definitely saves me a ton of time.

  10. Charles / Fiddler

    Of the two apps listed above, I prefer Charles, which is a paid application, but I’ve listed Fiddler as a free alternative. Both apps are proxies that log traffic between your system and the server you’re debugging (even localhost) and both provide valuable debugging information that is particularly helpful when trying to debug web services. From the Charles website:
    “Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).”

  11. EmEditorNotepad++ / Notepad2

    All three of the apps listed above are excellent full-featured text editors, but I prefer the feature set of EmEditor, which is a paid application. The killer feature that EmEditor provides which I haven’t yet found in either of the other editors is the Find *and Replace* in files. Notepad++ has a Find in Files option, but I haven’t found a Replace in Files function without opening up every single document and performing a replace in all open documents (info on that approach here: How To “Find And Replace” Words In Multiple Files).

    Notepad2 doesn’t offer the same tabbed document interface that both EmEditor and Notepad++ offer, but it is an incredibly lightweight, and more importantly, self-contained executable that’s a perfect drop-in replacement for Windows Notepad (info on how to do this here: Replace Notepad with Notepad2).

    Any of these apps offer syntax highlighting and are a great alternative to firing up Visual Studio when you need to make a quick edit (or on one of the *many* occasions when Visual Studio slows waaaaay down or locks up your system).

Honorable mention: PhraseExpress
This program rocks. I’ve only started using it recently, and not nearly to its fullest potential, but the clipboard manager functionality alone is worth the download:

Also, I neglected to mention AutoHotkey since I haven’t used it as much as I probably could, but I can say that I’ve had a lot of luck with the AutoHotkey script iTunesAnywhere, which helps since I don’t have a keyboard with multimedia keys and for whatever godforsaken reason, iTunes *still* doesn’t natively support global hotkeys like Winamp does. (I’d switch back to Winamp, but I drank the Apple kool-aid and picked up an iPhone in January.)

Subversion: This client is too old to work with working copy ‘XXX’

I thought I’d thoroughly read this article, but upon reading it again today, I noticed a key point I’d missed. If you can’t upgrade your SVN client, do a fresh checkout with the older client. I’m going to have to try this now…

This client is too old to work with working copy ‘XXX’

The full error message is:
This client is too old to work with working copy ‘.’; please get a newer Subversion client.

You will get this error message once you have used a Subversion client linked with a higher Subversion version, and then try to execute a command with a Subversion client linked with an older version, e.g., you used an 1.4.x client on your working copy, and now you try an svn 1.3.x client on the same working copy.

The reason for this is that Subversion 1.4 and 1.5 upgrade the working copies transparently on every command. But once the working copy format is upgraded, older clients can’t access the working copy anymore because they don’t know the new format.

The only solution to ‘fix’ this is to upgrade whatever clien

via This client is too old to work with working copy ‘XXX’ | TortoiseSVN

Ridiculous Subversion Behavior

Damn SVN

Yesterday, I attempted to move some of our content from a local filestore into our main subversion repository. I copied the files to my computer, all 22472.67 megabytes of it, and used TortoiseSVN to import the data to our repository.

Being that it was over 22GB of data, I expected it to take a very long time, and it did, 310 minutes and 3 seconds (approx. 5.2 hours). What I didn’t expect was that TortoiseSVN neglected to check for commit/import requirements *before* the import process and waited 5.2 hours, after all the data had been transferred, to tell me:

Error: WHOOPS! Insufficient Log Message. Must be greater than 10 characters.

Wow. Whoops, I just wasted 5 hours of my computing time and network bandwidth to import 22GB of data that was immediately reverted *after* the whole process should have been completed.

Don’t get me wrong, I love Subversion to death, and TortoiseSVN is an awesome client. This behavior, though, seems pretty ridiculous to me.

What do you think?