Plugin loads Gh components but not the Rhino commands

Hi,

I’m recently tried to add rhino commands to my already existant and working plugin that thus far only contained Grasshopper components. I am only a starter in that field.

I got stuck at testing if Rhino would load my freshly created RhinoCommand template.

After reading through the diverse forums, I saw a couple options:

  • Adding the .rhp path in the Registry Editor. (already quite cryptic for me)
  • Richt click on the project in VS and select “set as startup project”
  • Add Copy “(TargetPath)" "(TargetDir)(ProjectName).rhp" erase "(TargetPath)” in the build events.

None of these made the commands show when loading rhino 8 from VS.
The gh components in this loaded instance would still be visible though, (I image it does since it is registered in the GrasshopperDevelopperSetting)

Beside the things I don’t even see/know/understand:

  • I don’t see any .rhp file being created in the bin folder when VS is loading a Rhino instance.
  • I don’t understand how to tell Rhino to look at the .rhp or .dll and load the Command that it contains
  • I don’t see the name of my plugin in options>Plugins of the loaded Rhino, to install it.

I have tried to read as much as possible but every solution seams to be skip a step in instructions.
I tried creating another project with a single Rhino command and it seems to work fine…Can we even have the same VS project as a Grasshopper and Rhino plugin?

I hope this discharge make sense, I guess i’ll have to share some more extra information at some point.
Thank you in advance for the help,

Thomas

Run the PlugInManager command and click the Install button.

– Dale

[edit]
Hi,
Thanks for the quick answer,

When clicking on install I don’t find any rhp to install in the bin.debug folder

I created another VS project in the meantime specifically for Rhino Commands and it seams to load the plugin.
But I would like to merge both projects under the same solution is possible,

Hi,

I find myself in the same situation again, and can’t seem to find a solution. I will try my luck again here.

I would like to use the same VS project for both my grasshopper and Rhino Plugin, so I can reuse classes within the same project.

The issue is that when I start a VS project I have to either choose between a Rhincommon Plugin or a Grashopper Assembly.
From what I was trying to explain earlier, starting a project with one, let say a Grashopper Assembly, makes the Rhino commands not load (as no .rhp file is generated). The other way around also blocks, as no .gha file is generated.

Are we suppose to keep the Rhino commands and Grasshopper assembly seperate?

Is there a way to compile a .gha file as well as a .rhp and load both with debugging?

Thanks again,

Thomas L

I hope the

Hi @ThomasLdm,

This takes a little Visual Studio skill. Basically, you create an blank solution and then add your Rhino plug-in, Grasshopper plug-in, and utility library projects to the solution. You’ll need to edit each of the project settings so they all output into the same folder.

I’ve attached a simple sample for you to review.

TestThomas.zip (31.6 KB)

– Dale

Thanks Dale!
I’m curious to look at it as soon as possible,
I’ll let you know,

Thanks!

I am having an exact same problem as you - did you manage to solve it? Please assist if you can…

Hi, I’ve checked your sample whose file structure looks like this. I run Rhino from VS but cant run TestThomasRhinoCommand from Rhino. What should I do?

Did you install the plug-in?

– Dale

1 Like

Thank you so much, it worked. I’ll try to deconstruct your file structure and see what is going on b/c I’m still a bit confused by this.

… one more question… The hot reload button is missing from the debugger in visual studio. How to get it back?

The fire one is the hot reload button, you cannot hot reload outside debug a session

I know. I’ve simply clicked here :


and than rhino starts, and than the hot reload button used to be clickable, but it’s showing the image i posted in the post just prior to this one… Now it’s not, that is why I’m confused.

EDIT: The hot reload button is clickable when I select net7.0… Any ideas why?