Hi,
I moved my rhino 8 plugin from net framework 4.8 to net 8
I used to pack the plugin in rhi package, but now I have a problem as the plugin is not recognized by the installer
Can it be that Rhino installer can not handle the net 8 plugin rhp file or I am doing something else wrong?
the last lines in the log says:
12/25/2025 14:33:25 24132 Error Unknown Plug-in inspection failed (0%)
12/25/2025 14:33:25 24132 Error This package is not compatible with the Rhino Installer Engine.
Thanks in advance,
Aleksandar
.rhi is a legacy installer format, you’re better off using yak going forwards. You can also publish net48 and net8.0 this way. Yak Guides Here.
Thanks for the reply. I have already made yak package and it works as expected.
However, I have one question:
I noticed in the guides that rhinocommon addon for visual studio has option to automatically build yak package.
My plugin solution/project in visual studio is rather old, surviving several rhino versions.
Can I add that to the existing VS project?
Can you advise how to do it?
I’m not an expert in VS project files so more detailed instructions are welcome
It’s possible, it’s still a newer WIP option though, if your current method of building yak works, I wouldn’t change it now. It would require some know how.
The best solution would be to download the latest template, see if it works the way you need. Then, if it does, you could use that .csproj for your project and re-link things as necessary 
Sorry my instructions aren’t too detailed, let me know if it works the way you need and then I’ll do my best to provide more depth.
I will try it in the next days, will let you know about the outcome
Thanks!
1 Like
I have made empty project with Yak build option enabled.
Then I copied this section from .csproj into my plugin .csproj file, and it worked without any additional tweaking
This is the section I have inserted in my csproj file before the (existing) last section which starts Rhino
( I use VS2022 community )
<Target Name="BuildYakPackage" AfterTargets="DispatchToInnerBuilds">
<PropertyGroup>
<YakExecutable Condition="$(YakExecutable) == '' and $([MSBuild]::IsOSPlatform(windows)) and Exists('C:\Program Files\Rhino 8\System\Yak.exe')">C:\Program Files\Rhino 8\System\Yak.exe</YakExecutable>
<YakExecutable Condition="$(YakExecutable) == '' and $([MSBuild]::IsOSPlatform(macos)) and Exists('/Applications/Rhino 8.app/Contents/Resources/bin/yak')">/Applications/Rhino 8.app/Contents/Resources/bin/yak</YakExecutable>
<BuildYakPackage Condition="$(BuildYakPackage) == '' and $(YakExecutable) != '' and Exists($(YakExecutable))">True</BuildYakPackage>
</PropertyGroup>
<Warning Text="Could not find Yak executable" Condition="$(YakExecutable) == ''" />
<ItemGroup>
<YakPackagesToDelete Include="$(OutputPath)\*.yak;$(OutputPath)\**\manifest.yml" />
</ItemGroup>
<Delete Files="@(YakPackagesToDelete)" />
<Exec Command=""$(YakExecutable)" spec" WorkingDirectory="$(OutputPath)" Condition="$(BuildYakPackage) == 'True'" />
<Exec Command=""$(YakExecutable)" build" WorkingDirectory="$(OutputPath)" Condition="$(BuildYakPackage) == 'True'" />
</Target>
Yes, it is working as expected
1 Like