明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 13699|回复: 38

[运行时] NetLoadX源码发布,NetApi调试再不是问题

  [复制链接]
发表于 2015-4-23 16:12 | 显示全部楼层 |阅读模式
本帖最后由 雪山飞狐_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就一直开着



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1明经币 +2 金钱 +30 收起 理由
qjchen + 2 + 30 很给力!

查看全部评分

发表于 2023-12-13 16:45 | 显示全部楼层
本帖最后由 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
发表于 2019-12-5 16:16 | 显示全部楼层
brbright 发表于 2016-9-10 15:38
有更简单的方法。
不要用NETLOAD,将dll复制到内存再加载,可以避免文件被占用。

我用这个方法,得改assembly文件里的程序版本,如果第二次编译版本没有增加,就覆盖不了以前加载在内存里的代码
发表于 2015-4-23 16:16 | 显示全部楼层
牛人,仔细研究下
发表于 2015-4-23 16:22 | 显示全部楼层
很好很强大!有空测试下!
发表于 2015-4-23 19:31 | 显示全部楼层
已下载,待学习,谢谢!
发表于 2015-4-23 20:41 | 显示全部楼层
先下了,有空研究一下
发表于 2015-4-24 10:32 | 显示全部楼层
感谢技术革新!
发表于 2015-4-24 14:39 | 显示全部楼层
这个分离的搞法很久以前就玩过了,感觉也麻烦!
 楼主| 发表于 2015-4-24 19:00 来自手机 | 显示全部楼层
二次开发就是二奶。奈何
发表于 2015-4-26 16:08 | 显示全部楼层
.net 32位下多数情况下可以边修改边调试啊?
我用的时候发现只要不改变全局的东西就可以调试,不知道大家是不是这样子的。
 楼主| 发表于 2015-4-26 22:12 来自手机 | 显示全部楼层
上面算是个补充方案 edit and countion 也有经常无能为力的时候
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-20 20:53 , Processed in 0.538230 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表