As readers of my blog are likely aware, I am a big fan of the CodeRush and Refactor Pro! products from Developer Express. I know that Resharper (for whatever reasons) has much of the mindshare in the rest of the ALT.NET community, but for a variety of reasons I tend to prefer the Developer Express tools over Resharper’s user experience (and capabilities).
In past posts here and here, I have written both about the variety of tools (based on the DXCore foundation) that are available to complement the CR/R! combo as well as about the recently-announced (at PDC this year) CodeRush Xpress product for C# developers in VisualStudio 2008 (BTW, if you are not already a user of CR/R! or R# and you code in C#, you really owe it to yourself to go download the free CodeRush Xpress product — its by far and away worth the time and since its free, you know its worth the money ).
DXCore DLL Hell
For better or for worse, just about every time that Developer Express releases an update to their products along comes a new version of their underlying VisualStudio API abstraction engine, DXCore, atop which these other products are based. And this latest release (3.2.2) of CodeRush, RefactorPro!, and CodeRush Xpress is no different.
Just as Developer Express has released the 3.2.2 versions of these products, an updated version of DXCore (also 3.2.2) has been released. I applaud Developer Express for keeping the versions of all of their VS-enhancement products coordinated (e.g., versions of all products remain in-sync and so all are rev-ed to 3.2.2 now), but one of the mildly annoying side-effects of this change to the underlying DXCore versioning is that DXCore plugins written by others but compiled against a specific DXCore release version tend to cease working once a new DXCore release has been installed on your computer. And since DXCore updates are actually included (and mandatory!) when you update any one of the other Developer Express Visual Studio extensibility tools, updating any of those products will (tend to) inherently break many other existing plugins.
Open-Source means I can fix this myself
In a closed-source world, this would mean that I might have to wait until the developer of these other plugins gets around to recompiling their code against a the new DXCore release, but fortunately many of these plugins are open-source with available source-code. And so anyone can download the source, fix up the references to the proper DXCore assemblies, and recompile the plugins for themselves.
I know from experience that even though I have pretty well documented this sequence of steps needed for anyone interested, in the case of one of my favorite DXCore plugins, CR_ClassCleaner, I have in the past rec’d feedback from many that they have had issues with trying to update the references and rebuild the assemblies for themselves.
So my contribution to the world today is two freshly-compiled binaries in a single ZIP file that anyone can download today and use in conjunction with any of the Developer Express 3.2.2 version products (including just DXCore):
- CR_ClassCleaner (allows the reorganization of class members per a pre-assigned order, with or without region tags)
- CR_Documentor (allows the previewing of XML Code Comments from within the IDE without requiring a help compiler be applied to the XML first)
Since these are so small, they are both in a single ZIP file for anyone to download and copy into their DXCore plugins folder:
BTW, if you are a user of any of the Developer Express tools mentioned above (CR, R!, CRX, or DXCore) I would strongly recommend you upgrade your copies to the latest 3.2.2 release; hopefully this provided download will help to eliminate anyone’s reticence to update themselves to the latest versions.
Oh, and it goes without saying that I am explicitly disavowing any responsibility for these DLLs; if you don’t find you like them, then go download the source, update the DXCore assembly references, and recompile them for yourself.