Visual studio outputting .rhp instead of .dll (Moose sample)

For my own understanding, I’ve re-created my own version of Dale’s Moose sample project using the Rhino / Grasshopper plug in templates provided by the RhinoSDK. So the solution has the following projects:

“PluginName” - Rhino 6 c++ plug in

“PluginNameCommon” - created by starting with Rhino 6 c# plugin, then deleting some files / making some changes according to how Moose is setup

“PluginNameCoreLib” - created by starting with Rhino 6 c++ plug in, then deleting some files / making some changes according to how Moose is setup.

“PluginNameGH” - Grasshopper plugin

“MooseNet” - Rhino 6 c# plugin

Everything builds fine.
But, in order for it to work when using Rhino, I have to go into the …\Bin\Debug\ folder and rename “PluginNameCoreLib.rhp” to “PluginNameCoreLib.dll.”

So, for some reason, the PluginNameCoreLib project is outputting a .rhp instead of a .dll and i can’t figure out how to change this!

In Dale’s Moose project, MooseCoreLib outputs a .dll instead of a .rhp, so I’ve missed something in setting up my version.

What do i need to do so that PluginNameCoreLib outputs .dll instead of .rhp?
I know they are the same thing really, but I’d rather not have to rename it everytime i rebuild.

Not sure I did the right thing but I openend the csproj file and changed that in (see red lines), so search for rhp and put dll instead !

PluginNameCoreLib is a c++ project, so I dont have a .csproj file. But, I went through the project files and searched for .rhp extension and couldn’t find anything. I also right click project >> properties >> and went through all of the menus and didn’t see anything specifying to output it as .rhp as opposed to .dll. In fact, in the project properties, the Target Extension is specified as .dll. But it’s still giving me a .rhp.

Still missing some setting here, because Dale’s Moose does give .dll and not .rhp. Just not sure where to set this!

props

? I have no ohers clues
Did you find PostBuildEvent ?
https://docs.microsoft.com/en-us/cpp/build/reference/files-created-for-clr-projects?view=vs-2019
projname .vcxproj ???

Thank you,
I found it under PluginNameCoreLib.rc file.

foundit

I’m going to change those two sections (shown in image) from .rhp to .dll and I bet it will fix it! Won’t be able to try this until later tonight though. Will edit this comment and let you know if it did indeed fix it.

Ok, I changed the .rhp extension to .dll in PluginNameCoreLib.rc file. Rebuilt the solution, and still outputted a .rhp instead of a .dll. There are no more instances of “.rhp” in the PluginNameCoreLib project, and I do not see any other project settings that are telling it to write the .rhp extension…

@dale , any idea what I am missing here?

EDIT: fixed the issue by going into the .vcxproj file and changing the two instances of the following line:
<Import Project="$(RhinoSdkPath)PropertySheets\Rhino.Cpp.PlugIn.props" />
to:
<Import Project="$(RhinoSdkPath)PropertySheets\Rhino.Cpp.PlugInComponent.props" />

Hi @mike8,

The plug-in wizards adds a property sheet which controls a number of project things, including the output extension.

– Dale

Thanks Dale,
I fixed my mistake.