Acad2008和Acad2010需要修改安装目录下的acad.exe.config文件内容,才可以捕获断点:
<configuration> <startup> <supportedRuntime version="v2.0.50727"/> startup> configuration>
cad快捷方式,目标,设置/nologo这样默认打开就不会有logo出现: "C:\Program Files (x86)\AutoCAD 2008\acad.exe" /nologo
同理,c#项目调试的这里也可以加/nologo达到一样的效果.
调试的时候可以允许编辑代码...请用vs2017以上,因为cad.net对于vs版本没有限制,所以建议追新...我是在vs2019上面实现的...
vs菜单栏: 工具--选项--按图设置一下,勾选一下 "编辑并继续"的框框...打钩√√√√
勾选了之后,设置断点在修改的代码行前面.
然后要注意一个问题,一个解决方案内,调试的代码不可以共用,如果发生共用一份代码,那么共用的项目要卸载,否则不能成功在断点捕捉的时候修改代码.
共用代码的时候,断点捕捉会有小锁头,不给你改代码.
这个时候就要卸载其他工程,保留下你这个正在修改的版本,做完再编译其他版本.
演示:
带有using的引用命名空间不能改,除了顶部引用的using不能更改(添加了新的using就需要重启)之外,
其他地方只要再断点以下,可以随意修改代码,函数内修改和新增函数没啥问题,
包括using(transctio...... 事务管理器中的代码,只要不把CAD整崩溃了都行.
*********************************************************************************************
20191007更新vs2019到16.3.2
更新了新版本之后,无论是否有断点都可以进行修改代码,但是应用修改的时候就要捕捉一次断点.
*********************************************************************************************
调试错误:
反复空格导致错误产生,弹出错误语句: System.ArgumentException:“Form is not active”
在这句中产生: EditorUserInteraction UI = ed.StartUserInteraction(this)
检查是否因为允许捕捉面板的输入,如果是空格则进行了close()退出面板.