algorithmic modeling for Rhino
Here is some IronPy problem I'm trying to fight with.
As far as I know this exception is basically the same one as one gets whenever there are 2 instances of the same assembly loaded, and the types from one cannot be used with the other.
I'm attaching both .net libraries here as well.
The Owl.GH.Common is referencing the Owl.Core, and I've double-checked the project setup not to CopyLocal the files as this sometimes was the reason of a similar error seen in .NET code.
Tags:
I do not get any error
Maybe you have referenced paths elsewhere for two copies of the same dll such as python editor?
Maybe you could solve my issue?
http://www.grasshopper3d.com/forum/topics/texture-mapping-surfaces
Hm, your response gives me some idea I'll try out in a second.
In the meantime - take a look at your issue again.
EDIT:
Ok, I think I should add this: Both the Owl.Core.dll and Owl.GH.Common.dll are loaded by GH through the Owl.GH.gha plugin. If I disable the Owl plugin, the Py script works as it should.
Ok, tried it and it seems to work.
It would be cool to get some help on how the referencing mechanism works...
Not sure that this will help, but you probably want to use clr.addreferencetofileandpath() when targeting a full path like that (and use double backslash instead of forward slash, if I recall correctly. Edit: and add the extension).
Unfortunately not, tried it already...
Seems to work on my system. Sounds like you might be referencing a stray/wrong assembly like Tom said (likely caused by the ambiguous reference method):
I'm surprised that your referencing is even working, here's what I would expect:
Edit: Using your referencing code I can reproduce your error, looks like you didn't try hard enough :D
It works for me that way as well (without the gha loaded), but I need both: the gha loaded by GH AND the dlls loaded by the py script component... I'm guessing you don't have the Owl plugin.
EDIT: will try your ways anyway later...
EDIT2: another issue is that once you load the .net libraries, you can't unload them by any way without ending the process... hence the debugging is quite painful in this case.
Ok so it works, the issue is with the way I write the file paths.
If I'm using "/", the library is loaded, but then the ArgumentTypeException error occurs.
BUT
If I'm using "\\" in the path, it works just as it should.
Can we call it a bug, or am I missing something from the clr documentation ?
I think so. I know that a single forward slash "should" work on Windows, but this does demonstrate that something might be fucky! As far as I recall you can use os.path.normpath() to normalise paths such that they "should" work within the environment the code is executed. Or, just use two backslashes in the first place.
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by