VS 2017 Community - only Rhino6 templates?

I am currently switching to Visual Studio Community 2017, and i am struggling to install RhinoCommon templates there. Instructions on Rhino Developer Docs only reveal templates for Rhino6 (see image), and Giulio’s template installer tells me that it doesn’t need to install anything new. Yet, while i see all templates on VS 2015 Enterprise, my freshly installed VS Community 2017 does not show any templates for Rhino.

Best, Heinz

I kept VS2015 only for this reason - to quickly get new R5 components from the template. :slight_smile:

// Rolf

Here are the RhinoCommon templates for V5.

https://marketplace.visualstudio.com/items?itemName=McNeel.RhinoCommontemplatesforv5

– Dale

Hey Dale, i already have that link in my initial post. As mentioned before, i get

1

saying “this extension is already installed for respective products”, when downloading and starting the template installer. However, my File/New/Project dialog still looks like this:

so, no Rhino templates there. Also, your link states that the template installer “Works with Visual Studio 2010, 2012, 2013, 2015”, so no VS 2017 mentioned there.

Since I also do not see Rhino v5 templates when searching for them online (see my initial post), I am wondering if VS2017 community edition is supported at all right now.

Best, Heinz

VS2017 Community does not support R5.

I use both VS2015 Community and VS2017 Community because of that (VS2017 Community works fine for R6 though).

Edit:
Screenshot from my VS2015 Community:


// Rolf

Hey @RIL, please see this link:

It says

RhinoCommon plugins can be authored in Visual Studio 2010, 2012, 2013, 2015, and 2017 both in C# and VB, and included in Ultimate, Professional, Premium, C# Express, Vb Express and Windows Desktop Express (where available).

then

For the purposes of this guide, we will presume you are using Visual Studio 2017 Community Edition.

followed by step-by-step instructions along with a screenshot on how to install V5 templates… :confused:

Best, Heinz

Yes, but the inserted “[version?]” info is missing.

if (!VS2017_Community && RC5)
{
    return VS2015_Community;
}

:wink:

// Rolf

Are you saying that you cannot build Rhino5 plugins in VS2017 Community? Because i just succeeded in doing so.

I think my main problem is the confusion about McNeel presuming the usage of VS2017Community in that link, followed by a screenshot showing the online-installation of a V5 template. See?

Best, Heinz

Heinz, v5 templates work with vs2015, v6 with vs2017. You can use vs2017 to develop for v5:

  • fire up vs2017
  • start a project from a v6 template
  • remove rhinocommon.dll, eto.dll, rhinoui.dll
  • add rhinocommon.dll from your rhino 5 install
  • change debug exe to rhino.exe from Rhino 5

Dear Luis, i am sending you a virtual christmas cookie! :wink:

I just tried - successfully - to add a Rhino6 command to my Rhino5 project. However, the only difference to Rhino5 commands appears to be the missing [System.Runtime.InteropServices.Guid(“blablabla”)] tag. Even though it works - is that a problem?

Are you guys planning on releasing a Rhino5 template for VS2017 or is this the way of gently enforcing development for V6? :wink:

Cheers, Heinz

Btw, yes, we should update the docs for this to be clearer.

Nope. The question was whether R5 templates show up in VS2017. They don’t.

// Rolf

Hi guys,

I have to answer and say, this is my fault. The problem is, that VS2017 has a completely different SDK for “gallery/marketplace” items, and we could not extend the VS2015 templates to support VS2017, like we have been doing since 2010. Right now, the solution explained by Luis above is the only available, besides leaving a copy of VS2015 around.

In fact, the single fact that the same SDK would work from 2010 till 2015, across so many product updates, I’d call it miraculous. It allowed us to support so many environment for our single Rhino 5. You noticed and you were happy.

Now, back to us and where we are. We could now create yet a new template item for VS2017 + Rhino 5. That would work only for that single combination. It would require significant time and we would be left with something that is yet again a new copy of the same, with slightly different calls underneath.

I decided to endure the pain of hearing some complaints now regarding this, and not release a copy that would immediately become obsolete once we release V6 or Microsoft releases the next VS (it’s almost 2018…) and yet would necessarily need to be debugged - have you tried debugging for Visual Studio??? -, while focusing my efforts, with the limited resources that we have, to actually deliver something that would be beneficial to customers in the long term.

I don’t want to reveal right now what I’m working on, but I am sure you will complain and be happy and complain once again, as soon as you find out :slight_smile:

Giulio

1 Like

Damn, i’d love to complain RIGHT NOW! :rofl:

Anyway, thanks for your detailed comment, Giulio. No thanks, however, for making me THIS CURIOUS! :no_mouth:

The only remaining question for me is the following:

Do i need to manually create and insert a Guid, or can i just leave it like that?

Cheers, Heinz

You don’t need to add a Guid attribute to command classes (never actually did).

Great, @stevebaer, thanks!

I take that back; there is a case. The only time you need to add a Guid attribute to commands is if your command supports history (which is pretty rare).

1 Like

Alright, I’m on the safe side then… :grinning:

Eheeh sorry :slight_smile: @lungenstrudel