Dependencies on third party libraries should be avoided, where possible. Any code you add will increase the memory and performance profile of ReSharper and Visual Studio. There is also a chance that the helper assembly you pull in will clash with the helper assembly of another plugin - all plugin files are copied directly to the install dir, so it would be easy to overwrite with conflicting versions.
If you can, rewrite your code so you don't need those dependencies (use existing framework or ReSharper code, or the assemblies that ReSharper ships with, e.g. Newtonsoft.Json). If you can't, either rename the dependencies to avoid potential clashes, or use ILMerge or similar to pull in just the code you need (although note that ILMerge means you lose any benefit of code sharing).
ReSharper extensions do support dependencies, but the idea is so that you can require installation of another plugin. For example, say I write a plugin that provides a new macro for Live Templates. Another extension author could add a dependency on my extension (package) so that she could use my macro in her Live Templates.
Technically, you can include third party libraries as NuGet package dependencies, but they would need to be uploaded to the ReSharper Gallery. This is not recommended, as you would become the owner of a package that isn't really yours (if another plugin author wished to use the same package, you two would need to negotiate updates, etc).
Also, ReSharper extensions aren't really NuGet packages - they're just fancy zip files that make use of NuGet infrastructure to get some nice features. One thing that isn't supported is resolving which assembly under lib is used - so if you upload a package, it must be a simple package with all assemblies living directly under lib, which means re-packaging most existing packages. Again, not recommended.
So, the choice is, in order of most recommended to least:
- Rewrite to avoid dependencies.
- Rename or ILMerge dependencies to avoid potential clashes.
- Package dependencies (and transitive dependencies) directly into your extension package.
- Add third party assemblies to the ReSharper Gallery, probably by repackaging to put assemblies directly under lib.
These last two are not really recommended, to be honest, although in reality, I suspect the chances of actual clashes would be fairly small. For example, the StyleCop plugin directly packages StyleCop.dll because frankly, no other package is going to use it. However, if it also included NHunspell.dll, then there could easily be a clash with an extension that also provided spell checking.
And thanks for pointing out the broken notes, I'll get that fixed.
Regards
Matt