Rider 2018.3 assembly explorer and cross-platform .NET decompiler
Rider has had support for decompiling .NET assemblies for a while (including debugging), but it only allows decompiling assemblies referenced in our solution.
The latest Rider 2018.3 Early Access Preview (EAP) changes this, and comes with a built-in assembly explorer, which lets us drill into namespaces, types and type members for any assembly. Essentially, this makes Rider’s assembly explorer a cross-platform .NET decompiler that works on Windows, Mac OS X and Linux, based on dotPeek.
For referenced assemblies, we can use the View in Assembly Explorer context action to open the assembly explorer:
Another way to open it, is by changing the view of the Solution Explorer tool window – it’s more than just a Solution Explorer! From the title bar, we can explore our solution, the local file system, and assemblies. In the Visual Studio keyboard scheme, we can also use Alt+Left arrow/Right arrow to switch views.
Once we’ve opened the assembly explorer, we can navigate through namespaces, types and type members, as well as embedded resource files. Double-clicking (or Enter when using the keyboard) will open the decompiled source code or the embedded resource:
Just like dotPeek (our standalone .NET decompiler for Windows), Rider lets us open individual assemblies from disk, explore folders, and open assemblies from the Global Assembly Cache (GAC). It also supports working with assembly lists, making it easier to switch between different sets of assemblies. Rider indexes all assemblies in our assembly list, as well as the assemblies they reference.
Tip: in Open from GAC as well as in many other tool windows in Rider, we can start typing to perform a wildcard search for items, and then use the arrow keys to cycle through search results.
Of course, we can use Search Everywhere (Ctrl+T or Double-shift) to navigate to the decompiler as well. Rider can navigate to classes and interfaces, as well as other symbols like properties and methods.
Tip: Rider also supports debugging and placing breakpoints in decompiled code, making it easy to debug third-party code.
Download Rider 2018.3 EAP and give it a try! We would love to hear your feedback on these updates!
Subscribe to Blog updates
Thanks, we've got you!
Eager, Lazy and Explicit Loading with Entity Framework Core
Entity Framework Core (EF Core) supports a number of ways to load related data. There’s eager loading, lazy loading, and explicit loading. Each of these approaches have their own advantages and drawbacks. In this post, let’s have a quick look at each of these ways to load data for navigational prope…
OSS Power-Ups: bUnit – Webinar Recording
The recording of our webinar, OSS Power-Ups: bUnit, with Egil Hansen and Steven Giesel, is available. This was the twelfth episode of our OSS Power-Ups series, where we put a spotlight on open-source .NET projects. Subscribe to our community newsletter to receive notifications about future webi…
Accelerating Your Testing Workflow with Unit Test Creation and Navigation
Unit tests play an important role in our daily development workflow. They help us ensure our codebase's correctness when writing new functionality or performing refactorings to improve readability and maintainability. In the process, we often create new test files that accompany the p…
Introducing Predictive Debugging: A Game-Changing Look into the Future
With the introduction of debugging tools, software developers were empowered to interactively investigate the control flow of software programs to find bugs in live environments. At JetBrains, we've always strived to improve the art of debugging. Besides the more standard things you expect from a de…