Remove Assembly that was loaded with addAssembly

14 vues (au cours des 30 derniers jours)
Romaine Carter
Romaine Carter le 28 Mar 2014
Commenté : KAE le 18 Avr 2022
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)

Hossam Alzomor
Hossam Alzomor le 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 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.

Community Treasure Hunt

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

Start Hunting!

Translated by