.NET addAssembly fail
13 views (last 30 days)
Show older comments
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 Comments
Siddharth Bhutiya
on 20 Sep 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.
Accepted Answer
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!