Grasshopper plugin install doesn't work with Rhino 7

Hi All,

I’m working on a Grasshopper plugin and I’d like to target both Rhino 7 and Rhino 8, so I’m targeting the 7.21.22208.13001 version of the Grasshopper and Rhino SDK.

I’ve created a yak package with the following structure:

├── .gitignore
├── icon.png
├── manifest.yml
├── net48/
│   ├── Newtonsoft.Json.dll
│   ├── System.Buffers.dll
│   ├── System.Memory.dll
│   ├── System.Numerics.Vectors.dll
│   ├── System.Resources.Extensions.dll
│   ├── System.Runtime.CompilerServices.Unsafe.dll
│   ├── TapirGrasshopperPlugin.gha
│   └── TapirGrasshopperPlugin.pdb
└── net7.0/
    ├── Newtonsoft.Json.dll
    ├── System.Resources.Extensions.dll
    ├── TapirGrasshopperPlugin.deps.json
    ├── TapirGrasshopperPlugin.gha
    ├── TapirGrasshopperPlugin.pdb
    └── TapirGrasshopperPlugin.runtimeconfig.json

When I drag&drop the yak file in Rhino 8 everything works fine. After a restart I can see my plugin in Grasshopper.

But when I do the same in Rhino 7 everything seems fine, I get this message:

Command: _-PackageManager
Choose option ( Search ): _Install
Package file: "C:\tapir-archicad-automation\grasshopper-plugin\YakPackage\tapir-1.0.9-rh7_21-any.yak"
Successfully installed Tapir (1.0.9)

The problem is that when I open Grasshopper I can’t see my plugin. Not even after a Rhino restart. If I just copy the files from the net48 folder to the Components folder it works.

What could be the issue here?

I’ve found a not-so-elegant workaround. If I put all the net48 files in the root folder of the package then Rhino7 and Rhino 8 will find it, too. Still looking for a better solution though. :slight_smile:

├── .gitignore
├── Newtonsoft.Json.dll
├── System.Buffers.dll
├── System.Memory.dll
├── System.Numerics.Vectors.dll
├── System.Resources.Extensions.dll
├── System.Runtime.CompilerServices.Unsafe.dll
├── TapirGrasshopperPlugin.gha
├── icon.png
├── manifest.yml
└── net7.0/
    ├── Newtonsoft.Json.dll
    ├── System.Resources.Extensions.dll
    └── TapirGrasshopperPlugin.gha

I think if you want one package, that will have to be the way. I don’t think Rhino 7 cares about net48 and net7.0 folders in a yak package. So it’s either the solution you came up with, or two separate packages, one for R7 and one for R8.