Rhino Skin Not Initializing when Running /netcore Mode

@stevebaer @wim @curtisw

We are in the process of modernizing our plugin and have migrated it fully to .NET (Core). During this transition, we’ve run into an issue related to our custom Skin / Scheme integration.

Previously, when launching Rhino in /netfx mode, Rhino would execute our skin’s OnBeginLoadAtStartPlugIns() override. That method, in turn, conditionally loaded our plugin. This worked very well, as it allowed us to avoid force-loading the plugin on every startup; the plugin was only loaded when our scheme was actively applied.

With the move to .NET, we’ve observed a change in behavior. When Rhino is launched with the scheme specified, the skin .rhs file is loaded into memory, but none of the code within our skin class is executed.

Our class inherits from Rhino.Runtime.Skin.

Is there a new class we should inherit from, or is it that in Net Core mode it just no longer executes these overrides?

This should not be limited to .NET 4.8, but I have to admit this is part of the SDK that is rarely looked at since it is very seldom used. I wouldn’t be surprised if there is something we need to fix here.

@dale are you familiar with our Skin SDK in RhinoCommon?

Hi @jstevenson,

This sample skin project seems to work as expected.

TestSkin.zip (35.5 KB)

To test, make sure you “install” the skin in the Windows registry per these instructions:

– Dale

Thank you guys for spending time on this issue. I have discovered my issue. Given that I’m running a full Net Core 8.0 plugin, in Net Core mode in Rhino, I had some 3rd Party Assemblies which were not being found, that was preventing the plugin from loading.

Once I added some logic to handle that, and properly copy the assemblies during the build, the skin again behaved as it always had.

Sorry to have wasted your time, thank you so much for the help!

– Jason