Category Archives: Version 7.6

Tips: keyboard shortcuts

We’ve been doing some technical investigation around improving the Power Commands functionality lately. As part of that, we’ve been over some of the keyboard shortcuts in .NET Reflector, with a view to making some of them more sensible.

Reflector doesn’t have too many keyboard shortcuts but some of them are pretty useful, and you may not know about them all. I’ve picked out some of the more useful ones and detailed them below.

Continue reading

.NET Reflector in Visual Studio 2012

Visual Studio 2012 is slated to ship soon, and when it does, Reflector will be sim-shipping right there alongside it. As part of our work to support the newest technologies from Microsoft (C# 5, WinRT, .NET 4.5) we’ve been working on Visual Studio 2012 integration and the new theming styles.

Nigel, our developer who’s been doing most of this UI coding, tells us a bit more about the work involved and how he did it:

Continue reading

EAP Build 8 – Installer improvements

We released the latest Early Access release yesterday afternoon, and we’ve made some improvements to the installation process. However, before we jump into the details a recommendation:

Before you install this latest release, please uninstall the previous one (build 7.6.0.604). More on this later.

And now, on with the walkthrough….

Continue reading

The XP Bug Workaround

The bug: When attempting to update .NET Reflector’s Visual Studio extension, the installation fails with a message “The certificate for a digital signature in this extension is not valid.” This is a Microsoft bug and is detailed here: http://support.microsoft.com/kb/2581019

Our testers fixing bugs.

What causes it: (From the link above) this issue occurs because Windows XP and Windows Server 2003 handle the Certificate Revocation Lists (CRL) differently than other operating systems.

When Extension Manager handles the Certificate Revocation Lists (CRL), Extension Manager uses the same method for all operating systems. However, Windows XP and Windows Server 2003 handle the Certificate Revocation Lists (CRL) differently than other operating systems. Therefore, issue 2 occurs.

Continue reading

Building and testing Async support in Reflector

The journey towards asynchrony

When we first started working on the current version of Reflector, one of our main objectives was to provide full support for new Microsoft technologies. Since then our team has worked on making Reflector available for Dev11, and compliant with its new visual theming scheme. The async features in the new versions of C# and VB are a major step forward towards asynchrony and its implementation has been made much easier in practice.

With the introduction of the new Async/await keywords and new approach to Task-based programming, we realised that it wouldn’t be long before our users wanted to find out more about what’s happening under the bonnet with the new asynchronous programming model.

Continue reading

Hello SharePoint

In the past we’ve been mentioned quite a bit in conjunction with SharePoint. There are plenty of blog posts out there about using Reflector to get your head around it, and a lot of you have told us about your SharePoint experiences, but we haven’t really done any dedicated development around it.

We’ve added some SharePoint content to the main .NET Reflector site, which hopefully you’ll fine useful:

Simplifying SharePoint development

We also thought we’d try to do something in the tool itself, to help those of you who have this particular challenge in your lives.

Continue reading

Understanding async code with .NET Reflector

Yesterday, I gave an overview of the problems that async solves, and how it actually solves them. As we saw in that post, async is remarkably cunning, and can become remarkably tricky to follow when applied in a real application, which naturally makes any decompilation a bit of a challenge. If you haven’t read the previous post on how async works already, I recommend you at least skim through it so that you know what examples we’ll be working with, and so that we’re all working with the same understanding of state machines.

Now, with that introduction done, we should have a look at some real code.

Continue reading