当前位置: 首页 > 编程语言 > C#

如何在matlab中删除对.net程序集的引用分享

时间:2023-04-10 14:52:06 C#

C#学习教程:如何在matlab中删除对.net程序集的引用我在MATLAB中添加了对这个dll的引用,如下所示。一切正常。问题是当我想更新我的dll时,我必须关闭MATLAB,否则我无法重建我的dll,这很烦人。如何在MATLAB中删除对此dll的引用-我认为只有一行代码可以做到这一点?%添加对dll的引用cls=NET.addAssembly('C:MyFolderMyDllFolderbinDebugMyDll.dll');%引用我的类mycls=MyNameSpace.MyClass();您是否尝试过cls.delete然后再次添加引用?我好像记得clearclasses也有用。抱歉,我不能说得更具体,我手边没有设置Matlab的例子。编辑看起来我错了,根据这个链接,“你不能从MATLAB卸载程序集。”作为解决方法,您可以使用系统调用和Matlab命令行选项从Matlab本身启动一个新的Matlab实例,然后仅运行将库加载到新实例中。这在问题的答案中有所描述:从MATLAB发布.NET程序集如果最重要的事情是交换程序集时的停机时间,您可以在不加载新的MATLAB实例的情况下执行此操作(这非常慢)。即使在纯.NET中,也无法从AppDomain卸载程序集。JIT过程影响了太多的状态——来自该程序集的一些代码可以内联到许多其他函数中。这实际上是首先拥有AppDomain功能的重要原因之一。因此,您将需要一个充当包装器且永不更改的.NET程序集。它所做的是创建一个AppDomain并加载程序集以测试该子AppDomain。并且,当它发生变化时,销毁子AppDomain并创建一个新的。它很复杂,但将MATLAB与复杂性隔离开来。以上就是C#学习教程:如何在matlab中删除对.net程序集的引用。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: