Integrates .NET Reflector into Visual Studio to allow you to seamlessly debug into third-party code and assemblies, even if you don't have the source code for them.
Visit www.reflector.net for more information.
Copyright (c) 2009-2013 Red Gate Software Inc.
The only thing that is really helpful and which free tools don’t offer is the ability to debug an assembly with no PDB provided. However, Red Gate did manage to break even this only good thing with the recent update, making debugging in VS 2012 nearly impossible (extremely slow and unstable) even with no decompiled assemblies at all: http://forums.reflector.net/questions/4642/vs-debugger-extremely-slow-after-the-latest-update.html Besides that, the product has ZERO support and no ability to roll back to a previous (minor) release. In fact, there is even no such thing as a release archive. At least it is not discoverable on their AWFUL web site - just look on THAT: http://documentation.red-gate.com/display/REF8/.NET+Reflector+8+documentation (they call it “Support”, as it states on the main product page: http://www.red-gate.com/products/dotnet-development/reflector). Apparently, Red Gate concentrates all the efforts on stuffing Reflector full with bells & whistles instead of to ensure the most (and only) helpful functions just really work.
Wow I knew you could de-compile .dlls and things to an extent, as in get a basic list of the procedure calls and references, but the depth of this blows my mind. Never thought you'd be able to de-compile and see the EXACT code right there. Granted it isn't AS nice as working with it in your own solution, but wow it is certainly helpful to see what exactly is happening behind the scenes. Great for debugging 3rd party .dlls that just return a "No" when something's not working, and a godsend for retrieving some code from .exes where a dev hadn't backed up the source. Also nice to see how Microsoft does things when you're making calls to the framework components.
My only real grump so far is the tiny "Trial" notice at the top left of this page, there should really be a notice in bold at the top of the description that this is a 14 day trial, and you'll need to buy it for £120 at the website. Fantastic addon though.
There are quite a few decompilers out there, but I think this is the only one that allows you to debug 3rd party dll's at runtime (given they aren't obfuscated...) - you can go step by step, step into, and everything else, just like it's your own code (it creates a debuggable clone of the assembly that enables this). This is very powerful option, but, having said that, it doesn't work quite nicely. The code it displays as "current execution line" isn't the one that's executed (like when you get when source code differs from debugging exe/pdb, when code is optimized etc), so you always have to look e.g. 7 lines above the currently displayed to see where he's at. Furthermore, it breaks in files where there's no break but it's breaking there just because they're calling the line in a file that has it. It's all minor issues, but mighty annoying at that... some assemblies might work without issue, mine haven't :) All in all - an excellent decompiler, but that needs a few enhancements of the more advanced features.
Since version 7.6 the installation for Visual Studio 2010 fails with the error message "The specified path, file name, or both are too long. The fully qualified file name must be less then 260 characters, and the directory name must be less than 248 characters."
Furthermore the menu items Tools>Visual Studio and Windows Integration (Ctrl+I) vanished.
Ah, yes - that's a broad issue that hits a few VS Extensions. We're aware of that error and working on get it cleared up.
And the integration options have been split (as of 7.6) to make sure there's no control inter-dependancy. The Windows integration function is now under Tools>Options, and the Visual Studio integration can be handled via the installer. If you're still having trouble with it, drop a note in the discussion tab and we'd be happy to help work it out.
After using it only one time - (a) install, (b) checking out functionalities, and (c) deinstallating - it was not possible to use Windows SDK again.
Installing of Visual Studio 2012 failed, because of the fact .Net is not installed, BUT IT IS!
Installing of Visual Studio 2013 failed, because of the fact .Net is not installed, BUT IT IS!
I guess that this .Net Reflector has changed pathes in the registry or some assemblies which make it not possible to develop any Windows application which are using .Net!!! It's a shame!
So sorry for all this trouble .NET Reflector caused!
From your trial, do you recall if you enabled debugging on a framework assembly that required .NET Reflector to alter your DEVPATH? It sounds like the DEVPATH was altered but may not have been reset after your debugging session.
(Reflector needs to alter the DEVPATH when you enable enable debugging on a assembly that doesn't have a debugging signature. Reflector will make a copy of the assembly with the added signature and place it in the Reflector DEVPATH folder. If you don't "reset the DEVPATH" after debugging, any program that uses that assembly will continue trying to load that edited assembly from the DEVPATH folder, although .NET Reflector likely already deleted it after debugging was finished.)
I know you've already reinstalled Windows now (so sorry again for this inconvenience), but in case you ever give Reflector another try and run into this issue again, you can reset the DEVPATH from the VS menu (.NET Reflector > Reset the DEVPATH).
Or if in any case you've gotten rid of the DEVPATH environment variable, you can instead go into the Reflector distribution directory and run "RedGate.Reflector.DevPathSetter.exe /reset"
Again, my apologies that we weren't able to help with this issue in time.
Lately (possibly after updating to 126.96.36.199, VS 2012 crashes when closing a solution. I found the stack trace:
UNHANDLED EXCEPTIONS FROM PROCESS 6984:
2/12/2014 8:35:32 AM
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object parameters, Object arguments)
at System.Delegate.DynamicInvokeImpl(Object args)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
Just to confirm I'm understanding correctly, is .NET Reflector slow while you're navigating through the code via the Reflector Object Browser or is it just slow when you actually try to decompile the code (or both)?
Does it crash or hanging Visual Studio at all?
The current version cannot install on XP due to too-long-paths. It also says that the certificate is invalid but that could be a side-effect of the same problem.
FWIW it's possible to install the extension by renaming the .vsix to .zip, unpacking it and removing all the subfolders (only used for the certificate and signing info), then re-zipping and renaming back to .vsix.
That's pretty much the truth - Windows is still bound to MSDOS and its' 256-character file path limitation. NTFS supports up to 32,000 character filenames, but the path has to be in a special UNC format and most programs aren't aware of how to handle that style of path.
You may use your workaround or I hear there are some third-party solutions out there to intercept and prevent this sort of thing.
That's right. The certificat has expired and the Extensions Manager denies installing the update on my VS2010 (Windows 7 x64 OS). RedGate should re-sign the update with the valid certificate and re-issue it.
You can find the release notes for version 188.8.131.523 on the page below:
There are also links to earlier version release notes on the page.