I agree and will throw out one thing McNeel coud do which would facilitate this: standardize the doc/multidoc handling for Windows and Mac. That would make it much easier for small devs to support both platforms. As is, if your dev machine is Windows (as I expect it probably is for people in C#: Visual Studio is the best game in town) then you literally can’t test some of the most basic user flows on your dev machine: multiple documents open at the same time within the same process with the user bouncing around between models while using the plugin.
This has been brought up before and some people love separate processes for separate documents so only one crashes if a crash happens. Fine, allow but don’t require multiple docs to all be within the same Rhino session under Windows.
The only thing I can think of is using RhinoInside to open multiple Rhinos, but then your code is outside Rhino when it really could/should be a plugin working with the user as they bounce between documents.
You can import, but that seems to silently change the guid’s on objects from one file which have the same guid as the other file.
I don’t think worksession quite handles this either (what’s available in RhinoCommon is really sparse).
You could try opening two RhinoDoc instances as headless docs. This works on both Windows and Mac. If you want to go with an even lighter version of comparison File3dm instances could work.