.NET addAssembly fail
Mostrar comentarios más antiguos
The code
A = NET.addAssembly('C:\path\to\mydll.dll')
fails with the hint 'source: mscorlib'.
After some searching, I tried to capture the exception using
try
NET.addAssembly('C:\path\to\mydll.dll')
catch ex
end
But the ex.ExceptionObject has no field LoaderException:
>>> ex.ExceptionObject.LoaderExceptions.Get(0).Message
No appropriate method, property, or field 'LoaderExceptions' for class 'System.IO.FileLoadException'.
How can I get access to the LoaderException?
//EDIT: I pinned it down: mydll.dll depends on a version of hdf5.dll which is situated in the same folder as mydll.dll. If I comment out all statements relying on hdf5.dll from the source of mydll.dll, the import works. Could it be that MATLAB is working with another version of hdf5.dll it found somewhere else? I tried 1) adding the folder with my version to the path 2) copying hdf5.dll to /system32.
7 comentarios
Siddharth Bhutiya
el 19 de Sept. de 2018
Could you post the complete error message that you get when you try to add the assembly without using try-catch.
Also are you able to load it outside MATLAB?
This error could be due to some missing dependencies for your dll. If they are not present in the current folder then MATLAB will not be able to locate them and might throw this error
Guillaume
el 20 de Sept. de 2018
It does sound like a dependency of your library is either not found or for some reason fails to load properly.
Siddharth Bhutiya
el 20 de Sept. de 2018
When you tried running it in C# did you add any references ?
There might be files on the linkerpath and inlcudepath which might be needed for your DLL.
Also could you please post the type of the exception object by displaying it after the try catch block.
disp(ex)
This might give us some insights.
fablukm
el 21 de Sept. de 2018
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Get Started with Microsoft .NET en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!