C# 有没有更快的方法调试ObjectARX应用程序?

C# 有没有更快的方法调试ObjectARX应用程序?,c#,vb.net,debugging,autocad,objectarx,C#,Vb.net,Debugging,Autocad,Objectarx,为了调试ObjectARX应用程序,每次调试尝试时都会从Visual Studio IDE中启动一个Autocad实例 这会产生长时间的浪费,等待Autocad加载。因此,我的问题是: 是否有办法在调试会话之间保持Autocad打开?或者 是否可以像COM应用程序处理互操作对象/命令那样,编写一个连接到打开的Autocad实例并使用其ObjectARX对象/命令的独立.EXE应用程序?这些方法的调试速度也会快得多 与任何进程外应用程序一样,最后一个应用程序的执行速度较慢,但为了修改代码和调试

为了调试ObjectARX应用程序,每次调试尝试时都会从Visual Studio IDE中启动一个Autocad实例

这会产生长时间的浪费,等待Autocad加载。因此,我的问题是:

  • 是否有办法在调试会话之间保持Autocad打开?或者

  • 是否可以像COM应用程序处理互操作对象/命令那样,编写一个连接到打开的Autocad实例并使用其ObjectARX对象/命令的独立.EXE应用程序?这些方法的调试速度也会快得多

与任何进程外应用程序一样,最后一个应用程序的执行速度较慢,但为了修改代码和调试代码逻辑,它是即时的


编辑:虽然非常可取,但在这种情况下不适用,因为它不允许调试。

我想不出一种方法。我要做的唯一一件事就是加快速度(稍微加快),就是使用AutoCAD的Autoloader选项,并将“生成输出路径”设置为此文件夹

这样,我就不需要每次调试时都通过网络加载构建的Dll

干杯,
Alain

重新启动AutoCAD确实是唯一可靠的方法。您可以/应该在Visual Studio项目设置的“调试”部分中,在AutoCAD启动时运行到
NETLOAD
DLL,而不是在AutoCAD中弄乱acaddoc.lsp或任何应用程序设置。如果您愿意的话,可以在这方面获得更多资源,但在本例中,这只是一行中的一个命令。也值得一读。李麦克总是值得一读

“命令行参数”框中的文本应类似于

/b "A:\Full\Path\To\Your\Script\ScriptName.scr"
ScriptName.scr的内容

netload "A:\Full\Path\To\Your\DLL\DLLName.dll"

使用引号是因为AutoCAD会将任何空格解释为Enter并运行命令。

对于较新版本的AutoCAD,您可以选择使用AccoronSole.exe进行调试。这是AutoCAD的控制台版本,不会显示任何图形。但它在其他方面又快又好。

谢谢@Alain。对于自动加载,我编辑(或创建)文件“[Autocad path]\Support\acaddoc.lsp”并添加一行,例如:
(命令“netload”“C:\\mypath\\mydll.dll”)
无论如何,快速调试的替代方法可能是永远不要退出Autocad。。。(!!). 我的意思是,一旦启动项目进行调试并遇到断点,此时您就有机会对代码进行小的修改,并在不重新启动的情况下继续运行/调试。然而,我遇到了一些奇怪的异常,也许在运行时重建代码是一个微妙的操作。