When I remove an add-in from Visual Studio's add-in menu, it doesn't get unloaded from memory. Does anyone know if I can write some code for my add-in (in C#) that would force this unloading. Is this even possible, or do I have to restart VS?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
If your DLL is written in managed code there is no way to force it to be unloaded as a Visual Studio Add-In. The CLR does not support such a mechanism.
The only way to force a DLL to be unloaded from a process is to tear down all AppDomains which have loaded the DLL. In a Visual Studio Add-In scenario, the add-in will be loaded into the default AppDomain. Tearing this down necessitates tearing down the entire process :(