Cannot use extension methods in Rhino plugin DLL

I recently successfully created a .rhi Rhino plugin installer by zipping an .rhp file as directed in the wiki. I have since made some changes and created a new one, but when I try to run the .rhi it gives the error “This package is not compatible with the rhino installer engine”.

I traced the issue down to the fact that I added some extension methods to my assembly, which caused the line

.custom instance void [System.Core]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) 

To get added to the manifest. If I change the extension methods to be regular methods, the error goes away.

The mac version of the package installed fine.

Is there any reason for this restriction? Can it be fixed?

Moved to Developer category

Hi @Max_Eskin,

Is it possible to get a copy of your .RHI? You can email it to me directly if needed.

– Dale
dale@mcneel.com

Hi @Max_Eskin,

I’ve reported this issue as a bug. I don’t have a url you can use to track this because the issue is private, as it contains the plug-in installer you sent me.

– Dale

Thanks.

Hi @Max_Eskin, I’ve modified the Rhino Installer Engine to allow it to install your RHI correctly. Are you a Rhino WIP user?

I am not but I could switch to it.

The fix will be in the next Rhino WIP release which, all things being well, will be released next Tuesday. After installation, all .RHI files will be associated with the new version of the Rhino Installer Engine (which will happily continue to install Rhino 5 plug-ins for Rhino 5).

If you’re not familiar with Rhino WIP (in particular, how to download and claim your Rhino WIP license) please check out the #serengeti category.

So you don’t have to wait until the weekly public release to test this, I’ll drop you a PM with a link to the latest daily Rhino WIP build.

RH-41971 is fixed in the latest WIP