The absolute, #1 tool in every developer's D:\Tools directory should be Reflector. Reflector allows you to explore, disassemble and otherwise "research" .NET assemblies.
Lately I often find myself switching between multiple framework versions:
- .NET 3.5 SP1
- .NET 4.0
- Silverlight 4.0
To switch between these frameworks, I use a little trick. I keep a Reflector.cfg file for each framework, and use a start menu shortcut to launch them:
Each shortcut points to a different .cfg file. The shortcut just needs to pass the /configuration variable to Reflector.exe:
Creating a configuration file is easy - just use the command above with a file that doesn't exist - for example:
You'll then be asked to populate the list:
At this point, I like to drag in any extra assemblies I often use with that framework version:
- For Silverlight, you can check under
C:\Program Files (x86)\Microsoft SDKs\Silverlight\v3.0 C:\Program Files (x86)\Microsoft SDKs\Silverlight\v4.0
- For WPF developers, try:
(If you don't have a 64-bit machine, change the paths appropriately)
Don't forget to also include other assemblies you often use, like:
- Autofac DLL's
- NHibernate DLL's
- Enterprise library DLL's
- Composite WPF DLL's
- ASP.NET MVC DLL's
- Magellan DLL's :)
Once you have all the assemblies you need, you can close Reflector - your list will be saved. You can re-open it again by creating a shortcut using the same .cfg file.
The final step is to mark the configuration file as read-only. I often open Reflector and drag in any crazy DLL I find during the course of the day to look at. Reflector saves these in your config file by default, and the next time you open it, you might find the list getting a bit messy. Marking the files read only solves this.
While we're on the topic, don't forget to look at the Reflector Add-In's project on CodePlex. My personal favourite add-ins are:
- BAML Viewer, for turning BAML in XAML
- Reflection Emit Language, for those few times I've tried to write my own dynamic type generator
- Assembly Collection Sort, for keeping my assembly list easy to scan
Hello, I'm Paul Stovell
I'm a Brisbane-based software developer, and founder of Octopus Deploy, a DevOps automation software company. This is my personal blog where I write about my journey with Octopus and software development.
I write new blog posts about once a month. Subscribe and I'll send you an email when I publish something new.Subscribe