Closed jgcodes2020 closed 1 year ago
I can't see your repro, can you share it or upload a zip of it?
I can't see your repro, can you share it or upload a zip of it?
Should be public now.
Doing some further testing, the issue also only seems to occur when the plugin is called indirectly through a .NET application. Using a native client to the plugin (https://github.com/mupen64plus/mupen64plus-ui-console) seems to resolve the issue.
Perhaps this has to do with both host and plugin running the same assemblies.
I've looked through the sample code. It seems I'm not calling preload_runtime
. Does this affect anything? @jkoritzinsky
I've looked through the sample code. It seems I'm not calling preload_runtime. Does this affect anything?
Nope, that is called when the first export is executed unless the user has already called it - see documentation in header file.
Perhaps this has to do with both host and plugin running the same assemblies.
@jgcodes2020 I believe you are hitting an issue with AssemblyLoadContext
s. It is a common problem with extension points in .NET and tools like DNNE. See issues like https://github.com/AaronRobinsonMSFT/DNNE/issues/154 or https://github.com/AaronRobinsonMSFT/DNNE/issues/115. There is also a detailed description of ALCs here.
@jgcodes2020 I'm going to close this issue for now as it appears this is an ALC issue. Please let us know if you are still blocked or found data that indicates there is a different root issue.
I'm writing an Avalonia-based GUI for a plugin with DNNE.
Recently, I tried to add Material.Icons.Avalonia, and while running the GUI as an application works, it throws an exception when loaded via DNNE:
Here's the affected project: https://github.com/jgcodes2020/TinCan.NET, I'm not sure how a break could only occur using DNNE.