I have the code from my plugin segregated into two major parts, the base is built without references to any Rhino assemblies. In this way I can reuse these parts in other contexts. I use the Newtonsoft.Json library for serialization in this code.
The Rhino plugin portion of the code references these projects as well as RhinoCommon. When I upgraded the the referenced RhinoCommon from 7.1 to 7.6 things broke. This comes down to RhinoCommon now shipping with Newtonsoft.Json.Rhino - a vendorized version of Newtonsoft.Json. The namespaces aren’t changed in this vendorized version, so there is a conflict if my code references Newtonsoft.Json. It finds the same object in the version I’m referencing and the version provided by RhinoCommon.
Other than reverting back to RhinoCommon 7.1, it’s not obvious to me how to fix this. I think I’m an edge case, but the short of it is, that this prevents me from using Newtonsoft as I have been doing for several years.
For context, this plugin has been alive since 2005. I use shared projects in Visual Studio to aid me in building the plugins against Rhino 5, 6, and 7.