Remove Assembly that was loaded with addAssembly

10 visualizzazioni (ultimi 30 giorni)
Romaine Carter
Romaine Carter il 28 Mar 2014
Commentato: KAE il 18 Apr 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 Commenti
Doctor G
Doctor G il 19 Ott 2017
The documentation says you cannot unload. I end up restarting matlab each time.
KAE
KAE il 18 Apr 2022
Can I just ignore this warning?

Accedi per commentare.

Risposte (1)

Hossam Alzomor
Hossam Alzomor il 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 Commento
KAE
KAE il 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.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by