Remove Assembly that was loaded with addAssembly

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 commentaires

Doctor G
Doctor G le 19 Oct 2017
The documentation says you cannot unload. I end up restarting matlab each time.
KAE
KAE le 18 Avr 2022
Can I just ignore this warning?

Connectez-vous pour commenter.

Réponses (1)

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 commentaire

KAE
KAE le 18 Avr 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.

Connectez-vous pour commenter.

Commenté :

KAE
le 18 Avr 2022

Community Treasure Hunt

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

Start Hunting!

Translated by