zhengjian211 发表于 2009-10-21 14:45:00

[求助]如何卸载net程序,实现netload/netunload

看到那一段英文了 似乎是要改edit and continue
但还是看不明白
谁成功实现netload/netunload过 能说一下吗?

diditoy 发表于 2018-5-31 14:49:00


再次加载时没法覆盖程序集,抛出命令重复的异常,老铁知道为什么不?版本号已经修改了。。Cannot load assembly. Error details: Autodesk.AutoCAD.Runtime.Exception: eDuplicateKey
at Autodesk.AutoCAD.Runtime.Interop.Check(Int32 returnValue)
   at Autodesk.AutoCAD.Runtime.CommandClass.AddCommand(ICommandLineCallable ca, MethodInfo mi)
   at Autodesk.AutoCAD.ApplicationServices.AutoCADApplicationHolder.Initialize(Assembly assembly)
   at Autodesk.AutoCAD.ApplicationServices.ExtensionLoader.ProcessAssembly(Assembly assembly)

diditoy 发表于 2018-5-31 09:24:00

找到问题了,我是用cad开发向导建的项目,把项目里的这一段初始代码
复制代码
删掉,就可以正常加载了。。不晓得为什么。。

wqq8889 发表于 2019-8-7 01:52:00


最近也遇到这个问题,根据测试,是项目填的太多了,不要"MyGroup":

用简化的模式,大部分都没有问题

雪山飞狐_lzh 发表于 2009-10-21 15:09:00

edit and continue 是调试时用的
没有netunload,或者说.Net程序无法卸载

zhengjian211 发表于 2009-10-21 15:18:00

谢谢版大
只能重开cad了?。

flyhorse 发表于 2014-5-8 15:06:00

我也试了好多次,没用。

SWAYWOOD 发表于 2014-5-9 08:15:00

买新机器吧,我就是这么做的,开CAD6秒。

cdinten 发表于 2014-5-9 18:37:00

你可以了解一下AppDomain,.NET程序不能像C++写就的dll(arx就是其中的一种)那样卸载。我感觉托管程序的加载、卸载相对于传统本地dll应该要容易一些,不知道微软当初设计的时候是出于什么考虑,不提供这种实现功能,现在导致每次重新编译之后就得重新启动CAD再加载一次,严重影响了效率

brbright 发表于 2016-9-10 15:35:00

不要用NETLOAD,将dll复制到内存再加载,可以避免文件被占用。
//打开文件,将文件以二进制方式复制到内存,自动关闭文件
byte[] buffer = System.IO.File.ReadAllBytes(file_dir);
//加载内存中的文件
Assembly assembly = Assembly.Load(buffer);
页: [1] 2
查看完整版本: [求助]如何卸载net程序,实现netload/netunload