How to repack ReSharper extension to Rider plugin

  1. Open your ReSharper extension solution in Rider and press Manage NuGet Packages in the context menu.


  2. Uninstall JetBrains.ReSharper.SDK package and install JetBrains.Rider.SDK package instead.



  3. The code should mostly just recompile easily. However, it's worth noting that Rider SDK doesn't equal to ReSharper SDK, and some adjustments in the plugin might be needed.
  4. After the solution is built successfully, create a zip archive with the following structure:

    │ ├───dotnet
    │ │             PluginName.dll
    │ │
    │ └───META-INF
    │                plugin.xml

  5. Put the compiled libraries into /dotnet folder. Alternatively, replace /dotnet folder with a .nupkg, which is a normal ReSharper Extension package.
  6. Put the plugin descriptor to /META-INF folder. You can see an example here, in the Heap Allocations Viewer plugin and find more about plugin.xml in docs.
  7. Now Rider can consume this plugin and extra functionality will be added to the ReSharper engine. To install it go to File | Settings | Plugins | Install plugin from disk... and select your ZIP archive.


  8. Upload the plugin to JetBrains plugins repository here. Please log in to your JetBrains account first. 

As an example, one can download Heap Allocation Viewer plugin directly, extract it and check the structure and plugin.xml file.

3 out of 3 found this helpful
1 comment

Hi, thank you for the walkthrough, it helped me install a plugin I'm developing.

Do I have to do this whole process for each change? From what I understand, when developing for R# in Visual Studio, as long as you have made no changes to function signatures (or added new ones) you can simply recompile to immediately use the latest version. It looks like Rider works differently, and making changes requires going through this whole process each time.. Is that the case?


Please sign in to leave a comment.

Have more questions?

Submit a request