本帖最后由 雪山飞狐_lzh 于 2015-4-23 22:36 编辑
首先感谢efan,代码的第一版是他的 O(∩_∩)O~
.NetApi的调试一直都有问题,每次调试都必须启动AutoCAD
原因就在于,Net的加载机制是直接加入当前应用域,造成dll无法卸载
在Kean的帖子里提到了实现一个自己的mynetload,在另一个应用程序域里加载,这样就可以实现卸载
下面的源码是基于这个原理在efan的第一版基础上修改的
使用方法:
1、NetLoadX生成到测试dll的输出目录
2、RemoteManager生成到AutoCad的安装目录
3、加载NetLoadX.dll运行netloadx命令即可,如果要开Cad即用,最好做成注册版本
4、打开你的测试项目,设置调试方式为启动外部程序,选择acad.exe文件
5、启动测试项目
6、如果要修改源码,不要停止调试,而是在VS的调试菜单选择“全部分离”
7、修改完毕生成dll,再选择调试菜单的“附加到进程”
这样调试时就重复6---7即可,AutoCad就一直开着
网友答: 加载的dll依赖第2个dll无法正常加载该怎么解决啊网友答: 本帖最后由 david96007 于 2023-12-14 07:35 编辑
2023年12月13日16:44:26
我使用的autocad版本是2018
我遇到问题是一样的,
报错:Autodesk.AutoCAD.Runtime.Exception: eDuplicateKey网友答: 牛人,仔细研究下网友答:
很好很强大!有空测试下!网友答:
已下载,待学习,谢谢!网友答:
先下了,有空研究一下网友答:
感谢技术革新!网友答:
这个分离的搞法很久以前就玩过了,感觉也麻烦!网友答:
二次开发就是二奶。奈何网友答:
.net 32位下多数情况下可以边修改边调试啊?
我用的时候发现只要不改变全局的东西就可以调试,不知道大家是不是这样子的。网友答: 上面算是个补充方案 edit and countion 也有经常无能为力的时候
首先感谢efan,代码的第一版是他的 O(∩_∩)O~
.NetApi的调试一直都有问题,每次调试都必须启动AutoCAD
原因就在于,Net的加载机制是直接加入当前应用域,造成dll无法卸载
在Kean的帖子里提到了实现一个自己的mynetload,在另一个应用程序域里加载,这样就可以实现卸载
下面的源码是基于这个原理在efan的第一版基础上修改的
使用方法:
1、NetLoadX生成到测试dll的输出目录
2、RemoteManager生成到AutoCad的安装目录
3、加载NetLoadX.dll运行netloadx命令即可,如果要开Cad即用,最好做成注册版本
4、打开你的测试项目,设置调试方式为启动外部程序,选择acad.exe文件
5、启动测试项目
6、如果要修改源码,不要停止调试,而是在VS的调试菜单选择“全部分离”
7、修改完毕生成dll,再选择调试菜单的“附加到进程”
这样调试时就重复6---7即可,AutoCad就一直开着
网友答: 加载的dll依赖第2个dll无法正常加载该怎么解决啊网友答: 本帖最后由 david96007 于 2023-12-14 07:35 编辑
ZKSJLL 发表于 2021-4-6 13:06
试验了一下,可以编译,但出现无法加载程序集。错误详细信息: Autodesk.AutoCAD.Runtime.Exception: eDupli ...
2023年12月13日16:44:26
我使用的autocad版本是2018
我遇到问题是一样的,
报错:Autodesk.AutoCAD.Runtime.Exception: eDuplicateKey网友答: 牛人,仔细研究下网友答:
很好很强大!有空测试下!网友答:
已下载,待学习,谢谢!网友答:
先下了,有空研究一下网友答:
感谢技术革新!网友答:
这个分离的搞法很久以前就玩过了,感觉也麻烦!网友答:
二次开发就是二奶。奈何网友答:
.net 32位下多数情况下可以边修改边调试啊?我用的时候发现只要不改变全局的东西就可以调试,不知道大家是不是这样子的。网友答: 上面算是个补充方案 edit and countion 也有经常无能为力的时候