Remove Assembly that was loaded with addAssembly

조회 수: 14 (최근 30일)
Romaine Carter
Romaine Carter 2014년 3월 28일
댓글: KAE 2022년 4월 18일
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
Doctor G
Doctor G 2017년 10월 19일
The documentation says you cannot unload. I end up restarting matlab each time.
KAE
KAE 2022년 4월 18일
Can I just ignore this warning?

댓글을 달려면 로그인하십시오.

답변 (1개)

Hossam Alzomor
Hossam Alzomor 2022년 3월 17일
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
KAE
KAE 2022년 4월 18일
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.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

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

Start Hunting!

Translated by