🌐 AI搜索 & 代理 主页
Skip to content

Conversation

@tonyroberts
Copy link
Contributor

Using Assembly.Load(Byte[]) created problems loading assemblies containing unmanaged code.
http://stackoverflow.com/questions/2945080/how-do-i-dynamically-load-raw-assemblies-that-contains-unmanaged-codebypassing

The change to use Assemble.Load(Byte[]) was originally made as a workaround to fix a problem where the Python.Runtime would get loaded multiple times when using nPython (once from the resource, and then later from the file on disk). The change forced it to go through the resolve mechanism, which found the embedded resource.

This change fixes the same problem much more simply, while using the normal Assembly.LoadFrom(path) method. Before attempting to load an assembly from disk it checks to see if an assembly with the same name is already loaded.

…rom a file.

This fixes problems when trying to import pre-loaded assemblies that are embedded as resources.
…rary dirs for python built with --enable-shared.
@tonyroberts
Copy link
Contributor Author

@adamklein, would you mind checking this actually fixes your original problem please? :)

@adamklein
Copy link

Yes, sorry for the delay - will check today!

@adamklein
Copy link

Confirmed this works!

@tonyroberts
Copy link
Contributor Author

Excellent! :) I'll go ahead and merge this then.
Thanks for your help fixing this!

tonyroberts added a commit that referenced this pull request Jun 9, 2014
@tonyroberts tonyroberts merged commit b570205 into pythonnet:develop Jun 9, 2014
twastvedt added a commit to autodesk-forks/pythonnet that referenced this pull request Mar 17, 2025
* add cache for extensions

* Use out

---------

Co-authored-by: Trygve Wastvedt <trygve.wastvedt@autodesk.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants