I'm embedding multiple 3rd party managed and unmanaged dlls into one dll.
That single dll gets picked up and injected into another host application at runtime ussing Assembly.Load
The entire thing is supposed to work as a host with plugins thing. (just to clarify)
I have it working for all dlls (managed, unmanaged and mixed) except for one: VideoOS.Platform.SDK.Export, for which I get dll not found exception on runtime, the dll is from Milestone NVR SDK
I've tried:
- putting it as IncludeAssemblies, Unmanaged32Assemblies and Unmanaged64Assemblies
- toggling: compression, temp files on disk
- manually loading it from the resources with:
AppDomain.CurrentDomain.AssemblyResolve
- decompiling the library itself with (Reflector, DotPeek, ILSpy) they all turn up with issues, so I'm thinking it's probabbly some pinvokes or similar that they can't decompile.
Notes:
- The whole process works when the dll is in the same folder as the host app exe but not when it's embededd
- I had an issue with a referenced library that started working when put in Unmanaged32Assemblies was resolved OK