@sgeggie, thanks again for sending over the .rhi installer. Very handy for testing.
Unfortunately, I’ve determined that we have a bug on our side where platform-specific .NET plug-ins are not correctly registered for 32-bit Rhino 5. I’m going to fix this in the Rhino Installer Engine that ships with Rhino 6, but this doesn’t exactly solve the problem that you’re facing. I’ve been looking for a workaround that doesn’t rely on this functionality in Rhino.
One option would be to compile your plug-in as AnyCPU (as it was originally). Then, assuming the DLL that you’re referencing is unmanaged, you could detect the platform at runtime and load the appropriate library.
Here are a couple of StackOverflow answers that should point you in the right direction:
The second, in particular, looks promising…
static class MyDll
var myPath = new Uri(typeof(MyDll).Assembly.CodeBase).LocalPath;
var myFolder = Path.GetDirectoryName(myPath);
var is64 = IntPtr.Size == 8;
var subfolder = is64 ? "\\win64\\" : "\\win32\\";
LoadLibrary(myFolder + subfolder + "MyDll.dll");
private static extern IntPtr LoadLibrary(string dllToLoad);
public static extern int MyFunction(int var1, int var2);
Please let me know if this is useful, or not, or if I can help further!