Remove Assembly that was loaded with addAssembly

19 views (last 30 days)
How do I remove an assembly that was loaded with addAssembly?
Situation: I installed an assembly in the GAC and loaded it into MATLAB. now im doing some integration tests with the same dll but loaded from a different place in the file system and MATLAB is giving me a warning and i cannot step into the dll source.
CODE:
NET.addAssembly('C:\foo\foo.dll');
Warning: Assembly C:\Windows\Microsoft.Net\assembly\GAC_MSIL\foo\v4.0_1.0.0.0__772795e52c232a80\foo.dll' has already been added from location 'foo'
How do i get fix this? I have already removed dll from GAC
  2 Comments
Doctor G
Doctor G on 19 Oct 2017
The documentation says you cannot unload. I end up restarting matlab each time.

Sign in to comment.

Answers (1)

Hossam Alzomor
Hossam Alzomor on 17 Mar 2022
you can asign the result of add assembly to variable and check for it before adding the assembly
if isempty(which('asm'))
asm = NET.addAssembly('C:\foo\foo.dll');
end
  1 Comment
KAE
KAE on 18 Apr 2022
I still get the following error when I add the isempty call
Warning: Assembly 'xx' has already been added from location 'C:\Users\yy\zz.dll'.
because
isempty(which('asm'))
is true.

Sign in to comment.

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!