zfybs 发表于 2015-5-18 22:38:52

在调试时不用每次都打开AutoCAD

测试版本:Visual Studio 2012 + AutoCAD 2014
在这样的环境下有没有什么办法可以在调试时不用每次都打开AutoCAD啊?

我现在只能用一种折中的方法,在VS中修改完后通过AutoCAD中重新NETLOAD的方法来重新测试,这种方法不用每次都打开AutoCAD,但是这种方法不能测试断点,所以效果还是不理想。

机械小男人雄起 发表于 2019-5-8 21:03:49

zfybs 发表于 2015-5-22 13:53
不能直接Build之后再将这两个dll复制到对应的文件夹吗? 还有那个NetLoadX.dll应该是可以随意放的吧,反 ...

您好,您在.net4.0下修改的代码能发我一份吗,我修改的总有问题,加载都加载不上去

zfybs 发表于 2015-5-20 16:10:00

难道没有可行的方法吗?

雪山飞狐_lzh 发表于 2015-5-20 16:59:54

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=113591

zfybs 发表于 2015-5-22 11:26:07

雪山飞狐_lzh 发表于 2015-5-20 16:59 static/image/common/back.gif
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=113591

那个“生成到”是怎么生成啊,直接将那两个.dll复制到对应的文件夹吗?

雪山飞狐_lzh 发表于 2015-5-22 12:40:58

在项目属性里更改

zfybs 发表于 2015-5-22 13:53:34

本帖最后由 zfybs 于 2015-5-22 14:03 编辑

雪山飞狐_lzh 发表于 2015-5-22 12:40 static/image/common/back.gif
在项目属性里更改
不能直接Build之后再将这两个dll复制到对应的文件夹吗? 还有那个NetLoadX.dll应该是可以随意放的吧,反正我每次打开CAD时都加找到它然后加载一次(我现在还不知道怎么把它最好做成注册版本。。。)

另外,还有一个不解的问题如下:
我的配置是VS 2012 + AutoCAD 2014(都是64位的) ,
在实际操作中,我用如下步骤:

1.将下载下来的源代码在VS2012中修改为.net 4.0下的版本,并重新build
2.将生成的dll分别复制到AutoCAD2014的安装目录下与要测试的程序的debug目录下
3.打开CAD、加载NetLoadX.dll
4.执行netloadx命令,添加测试的那个dll(此时添加命令成功,没有问题)
5.执行测试的程序集中的命令,此时就会出错(此时要么直接卡住,要么提示“致命错误”)。

上面我是先在外部打开CAD,然后进行添加的。然后我又测试了直接从VS中启动CAD的操作:

1.将下载下来的源代码在VS2012中修改为.net 4.0下的版本,并重新build
2.将生成的dll分别复制到AutoCAD2014的安装目录下与要测试的程序的debug目录下
2.1. 在VS中启动程序,CAD被打开,
3.在打开的CAD中加载NetLoadX.dll
4.执行netloadx命令,添加测试的那个dll(此时添加命令成功,没有问题)
5.执行测试的程序集中的命令(虽然有点卡,但是成功了)
6.开始分离进程
7.在VS中修改程序集(未修改程序集名称或者命令的名称)
8.重新build程序集
9.再附加CAD进程
10.重新执行修改了的命令(修正成功,而且可以进行断点调试!)

但是,上面成功测试的命令中只有一个“Application.ShowAlertDialog("Succeed!")”方法,
当我执行另外一个命令中的“Dim pSelectionRes As PromptSelectionResult = acEd.GetSelection(pSelectOpts, acSelFtr)”方法时,就会弹出报错:
运行时遇到了错误。此错误的地址为 0xe5654ac7,在线程 0x157c 上。错误代码为 0xc0000005。此错误可能是 CLR 中的 bug,或者是用户代码的不安全部分或不可验证部分中的 bug。此 bug 的常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈。

请问这要怎么解决啊?(如果我不是通过netloadX来加载此程序集,而直接用 NETLOAD 加载,然后调试此命令的话,在执行这个GetSelection方法时却不会弹出报错。)

ivde 发表于 2015-5-22 14:27:37

我调试时重启N次可以接受,玩呢:)

zfybs 发表于 2015-5-22 14:41:30

ivde 发表于 2015-5-22 14:27 static/image/common/back.gif
我调试时重启N次可以接受,玩呢:)

我语文没学好,你这表达的是什么意思?

雪山飞狐_lzh 发表于 2015-5-22 18:13:05

和窗体有关的代码会出问题。。。

zfybs 发表于 2015-5-22 20:18:40

雪山飞狐_lzh 发表于 2015-5-22 18:13 static/image/common/back.gif
和窗体有关的代码会出问题。。。

有什么好办法可以解决吗?
页: [1] 2
查看完整版本: 在调试时不用每次都打开AutoCAD