Grasshopper Plugin Error "Assembly with same name is already loaded"

Hello!

I can’t get the “eleFront-Rhino-6-Legacy" (v4.3.0) and “Elefront” (v5.1.8) -plugins to install simultaneously anymore on my main working computer.
The plugin installed last always overwrites the previous one. The component tab for only the last installed plugin appears in Grasshopper, the failing plugin’s components on the canvas go white.

When I run Grasshopper, the console reports this:

Command: Grasshopper
An error occured during GHA assembly loading:
Path: C:\Users\Pekka\AppData\Roaming\McNeel\Rhinoceros\packages\9.0\eleFront-Rhino-6-Legacy\4.3.0\Elefront_430.gha
Exception System.IO.FileLoadException:
Message: Assembly with same name is already loaded

I mainly work in Rhino8.
The problem persists in Rhino9 WIP on the same computer.
The problem is not there with Rhino7 on the same computer.
On my home computer with Rhino8, there is no problem.

The Package Manager sees both plugins as being installed at the same time and successfully creates folders for both of them at:
\AppData\Roaming\McNeel\Rhinoceros\packages\9.0\eleFront\5.1.8
\AppData\Roaming\McNeel\Rhinoceros\packages\9.0\eleFront-Rhino-6-Legacy\4.3.0\

However, the manifest.txt in the eleFront\ -directory keeps switching between 5.1.8 and 4.3.0 depending on which was installed last by the Package Manager. Manually editing the text file does nothing.
The manifest.yml -files in both subdirectories have differing guids.

Reinstalling Rhino8 did not help.
Uninstalling and reinstalling the plugins did not help.
Installing Elefront 4.3.0 from Food4Rhino did not help.
Manually putting “Elefront_430.gha” in “\AppData\Roaming\Grasshopper\Libraries” did not help.

If “eleFront-Rhino-6-Legacy" (v4.3.0) is not installed and I open a Grasshopper definition that has components from it, Grasshopper will offer to download and install it. It will incorrectly install it into the wrong folder:
\AppData\Roaming\McNeel\Rhinoceros\packages\9.0\eleFront\4.3.0

If I install the same plugin with the Package Manager, it will go in the right folder:
\AppData\Roaming\McNeel\Rhinoceros\packages\9.0\eleFront-Rhino-6-Legacy\4.3.0\

The Package Manager will also install “Elefront” (v5.1.8) into the right folder:
\AppData\Roaming\McNeel\Rhinoceros\packages\9.0\eleFront\5.1.8\

Yet the problem still persists. Only the components for one of the two plugins show up.
Rhino, on this particular computer, seems to be stubbornly pointing the two plugins into the same location and I cannot find any way to correct this.

Please help, I’ve been give this a few too many troubleshooting hours last week and today.

Kind regards
Pekka

Hi Pekka. Thanks for reporting this. Can you please share the output of the _SystemInfo command in Rhino 8?

Sure thing, Will!
Here:

Rhino 8 SR23 2025-8-29 (Rhino 8, 8.23.25241.01001, Git hash:master @ b8146b56cf9bd159d32a4707a4451d3cfc02e93c)
License type: Commercial, build 2025-08-29
License details: Cloud Zoo

Windows 10 (10.0.19045 SR0.0) or greater (Physical RAM: 128GB)
.NET 8.0.14

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 3090 (NVidia) Memory: 24GB, Driver date: 8-14-2024 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 560.94
> Accelerated graphics device with 4 adapter port(s)
- Secondary monitor attached to adapter port #0
- Secondary monitor attached to adapter port #1
- Windows Main Display attached to adapter port #2

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 8x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 8-14-2024
Driver Version: 32.0.15.6094
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 24 GB

Rhino plugins that do not ship with Rhino
C:\Users\Pekka\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\Bullant\25.5.27.8\bullant.rhp “bullant” 25.5.27.8
C:\ProgramData\McNeel\Rhinoceros\7.0\Plug-ins\Datasmith Rhino Exporter (d1fdc795-b334-4933-b680-088119cdc6bb)\DatasmithRhino7.rhp “Datasmith Exporter” 5.2.1.0

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.23.25241.1001
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.23.25241.1001
C:\Program Files\Rhino 8\Plug-ins\RhinoRender.rhp “Legacy Rhino Render”
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.23.25241.1001
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.23.25241.1001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.23.25241.1001
C:\Program Files\Rhino 8\Plug-ins\Grasshopper\GrasshopperPlugin.rhp “Grasshopper” 8.23.25241.1001
C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp “SectionTools”
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.23.25241.1001
C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp “Displacement”

I’ve not been able to reproduce the loading conflict error in Rhino 8.

I’d recommend uninstalling all instances of the elefront plug-in and then re-installing elefront 5.1.8 and elefront-rhino-6-legacy 4.3.0.

  1. Since you’re familiar with the folders where the packages are installed the quickest way to fully uninstall all elefront packages is to delete %AppData%\McNeel\Rhinoceros\packages\8.0\eleFront-Rhino-6-Legacy and %AppData%\McNeel\Rhinoceros\packages\8.0\eleFront.
  2. Next, start Rhino 8 and run the _GrasshopperLoadOneByOne command and confirm that elefront is not being loaded from any other location. If it is, delete the file/folder.
  3. Finally, restart Rhino 8 and use the _PackageManager to install elefront 5.1.8 and elefront-rhino-6-legacy 4.3.0.

Hello Will!

I performed the steps exactly as you described.
In Step 2, the _GrasshopperLoadOneByOne showed no sign of any version of Elefront being loaded.

After Step 3, the following two folders indeed appeared
%AppData%\McNeel\Rhinoceros\packages\8.0\eleFront-Rhino-6-Legacy and %AppData%\McNeel\Rhinoceros\packages\8.0\eleFront
with the manifest.txt files within them containing the corresponding version numbers.

I restarted Rhino and ran the command _GrasshopperLoadOneByOne.
I confirmed both plugins to be loaded from the correct folders above.

But in Grasshopper, only eleFront’s component tab shows up, with the legacy tab missing.

If I open a Grasshopper definition containing eleFront 4.3.0 components, I get the “Unrecognized Objects” -dialog offering me to Download and Install the supposedly missing plug-in.

If I do download and install it, Rhino will put a 4.3.0 subfolder into the wrong folder:
%AppData%\McNeel\Rhinoceros\packages\8.0\eleFront\4.3.0\ and write “4.3.0” into
%AppData%\McNeel\Rhinoceros\packages\8.0\eleFront\manifest.txt

Again I restarted Rhino and ran the command _GrasshopperLoadOneByOne.
This time I noted the following two plugins wanting to load:

%AppData%\McNeel\Rhinoceros\packages\8.0\eleFront\4.3.0\Elefront430.gha


Then again from
%AppData%\McNeel\Rhinoceros\packages\8.0\eleFront-Rhino-6-Legacy\4.3.0\Elefront_430.gha

I notice now the two files’ names differ by one underscore character.
Elefront430.gha
Elefront_430.gha

I clicked “yes” to load both plugins.

Now only the Elefront (R6) component tab appears in Grasshopper

and Rhino gave me the following error as Grasshopper launched:

Command: _GrasshopperLoadOneByOne
An error occured during GHA assembly loading:
Path: C:\Users\Pekka\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\eleFront-Rhino-6-Legacy\4.3.0\Elefront_430.gha
Exception System.IO.FileLoadException:
Message: Assembly with same name is already loaded

I’ve been through this rumba a number of times now, trying to catch what’s going on, but to no avail. This time I noticed the file name differences between Elefront430.gha and Elefront_430.gh but I’m not sure that matters(?)

Can you recommend what steps to take next?

Update:
Using _PackageManager I downloaded 5.1.8 again.
This updates %AppData%\McNeel\Rhinoceros\packages\8.0\eleFront\manifest.txt again with the text string “5.1.8”

Again I restarted Rhino and ran the command _GrasshopperLoadOneByOne.
This time the following two plugins wanted to load:

%AppData%\McNeel\Rhinoceros\packages\8.0\eleFront\5.1.8\Elefront_518.gha
%AppData%\McNeel\Rhinoceros\packages\8.0\eleFront-Rhino-6-Legacy\4.3.0\Elefront_430.gha

… which should be the correct folders!(?)

But still, the Elefront (R6) component tab is missing.

And again, opening a Grasshopper definition with 4.3.0 components reports the plugin as missing.

Rhino also still reports that an “Assembly with the same name is already loaded”

… even though two completely separate .gha files, in different paths are reported to be loaded by _GrasshopperLoadOneByOne!

How are the two assemblies’ names overlapping, and “where”?

1 Like

Since it works fine in Rhino 7 on the same computer, I tried copying the eleFront and eleFront-Rhino-6-Legacy -folders from
%AppData%\Roaming\McNeel\Rhinoceros\packages\7.0 into
%AppData%\Roaming\McNeel\Rhinoceros\packages\8.0

The exact same problems persists however.

It seems the mis-mapping of the plugin folders is either deep within my installation of Rhino 8 (which Rhino 9WIP then ‘inherited’?) or could it be that there’s something awry in my Windows Registry?
As far as I can tell, Rhino plugins have guids in there, but not ‘Grasshopper plugins’? At least I can’t find any in there that are obvious Grasshopper plugins to me, other than Grasshopper itself.

Reinstalling Rhino 8 did not solve the problem.

I have the same issue with the Rhino version over 8.22. That is to say, you can see the legacy Elefront tab in Rhino 8.22. But recently I found something interesting that I can see the legacy Elefront tab when running the Rhino inside Revit. This acts weird.:sweat_smile:

My office is having this problem, too, and we rely on scripts that use both the Elefront v4 legacy and the new Elefront v5 and this issue is causing real problems. This issue only started with Rhino SR8.23. I had tried all of the things @pekka.riihonen documented as well as trying to have v5.1.8 installed through the package manager and having the legacy version installed with the F4R method in:

C:\Users\<user>\AppData\Roaming\Grasshopper\Libraries\Elefront430

The only solution is to have the newer(ish) version installed by the same method here:

C:\Users\<user>\AppData\Roaming\Grasshopper\Libraries\Elefront512

But this will leave us stuck at Elefront version 5.1.2 because every update after that is only accessible through the package manager.

We intend to update our scripts to remove all legacy components but we have many large scripts that we rely on and it will take a large effort we can’t do immediately and quickly. Right now we just have to have 90% of our office not update past Rhino SR8.22.

Is there any pending solution to this?

2 Likes

@will are you able to reproduce the issue via the following steps? We are still having the issue (I work with @austin3, who is also in this thread).

  1. Roll Rhino back to SR 8.22.
  2. Uninstall all Elefront plugins.
  3. Via package manager, install Elefront 5.1.8 and 4.3.0
  4. Upgrade Rhino to SR 8.23.
  5. Start Grasshopper. This is when we would get the error.
1 Like

@krahimzadeh is there anything we can do to help?

I’m not seeing the error on a quick test, but I also see that Rhino 8 is not actively supported in v4.3.0

Well, not sure what happened, seems like something with how SR 23 is resolving assembly names, since that’s where folks have been able to locate the issue. I was able to recreate this myself.

From my side, what I have done is re-upload eleFront 5 with a new Assembly name on the .GHA, to hopefully avoid the clash. To make it available, I’ve upgraded 5.1.9-beta to 5.2.0 and uploaded it to the Package Manager - in my very cursory testing, it seems to work, and I can successfully load both Legacy and current versions.

To the users: 5.2.0 is otherwise exactly the same code as 5.1.9-beta, so all behavior should be the same, I’m just getting this up there quickly to (hopefully) resolve these dual-loading issues. We’ll be releasing an actual update - 5.3.0 - in the next couple weeks, which will have some bug fixes and new (exciting!) features, and a new documentation site, since the old one was corrupted.

3 Likes

Fantastic, thank you, @krahimzadeh !

EDIT: I have done some testing and this seems to be working for us! Thank you!!!

I can confirm that this has resolved the issue for me!

Thank you, @krahimzadeh !

I had resorted to just manually updating the legacy components in my Grasshopper definitions as I went, only this could get rather tedious as just about every project had some clusters that have had the good ol’ “Shift Match (R6)” -component several layers deep and hard to find.

Now old projects can be revisited again without much hassle and this extra step of maintenance!