Hi,
We ship a custom skin with our plug-in (a Rhino.Runtime.Skin subclass compiled as .rhs). It works in Rhino 7 and Rhino 8, but Rhino 9 BETA never loads it. I would like to know whether SkinDLLPath is still supported in Rhino 9 or whether the mechanism has changed.
Setup (identical for Rhino 8 and Rhino 9, only the version key and the file differ)
HKEY_LOCAL_MACHINE\SOFTWARE\McNeel\Rhinoceros\9.0\Scheme: Artisan
SkinDLLPath = C:\Program Files\RhinoArtisan 7\Rhino 9\net9.0\ArtisanSkin.rhs
Rhino is started with:
"C:\Program Files\Rhino 9\System\Rhino.exe" /scheme=Artisan
The skin itself is minimal:
public class WildcatSkin : Rhino.Runtime.Skin
{
protected override string ApplicationName => "Artisan";
protected override Bitmap MainRhinoIcon => Resources.icon.ToBitmap();
protected override void OnMainFrameWindowCreated() { ... }
}
What happens
| Rhino 8.35.26251 | Rhino 9.0.26258 BETA | |
|---|---|---|
Scheme is applied (RhinoApp.SchemeName) |
Scheme: Artisan | Scheme: Artisan |
Rhino.Runtime.Skin.ActiveSkin |
ArtisanSkin.WildcatSkin |
null |
| Skin assembly in the AppDomain | loaded | not loaded |
| Window title / icon | ours | “Rhino BETA”, default icon |
So the scheme itself is honoured in Rhino 9 (settings are stored per scheme as expected), but the skin DLL is never loaded.
What I have ruled out
- Runtime: same result starting Rhino 9 with
/netcore-8,/netcore-9and the default .NET 10. - Target framework: tried the skin built for net8.0-windows and for net9.0-windows, both against the RhinoCommon of this same Rhino 9 build.
- Registry hive: tried
SkinDLLPathunder HKLM and under HKCU. - The assembly is fine:
Assembly.LoadFromon the.rhsfrom inside Rhino 9 succeeds and theSkinsubclass is there. - No error in the command history and no dialog at startup. It fails silently.
Questions
- Is
Scheme: <name>\SkinDLLPathstill the supported way to register a .NET skin in Rhino 9? - If it changed, what is the new registration, and does the
.rhsneed anything different (location, extension, attributes)? - If this is simply not implemented yet in the BETA, is it planned?
Windows 11, Rhino 9.0.26258.12303. Happy to send a small sample project if that helps.
Thanks!