随着Visual Studio 正式版的发布,相信不少人都像我一样升级到了Visual Studio 。那么您在使用VS在AutoCAD,Map 3D或Revit的.net应用程序开发时,多半也会遇到调试时断点总是不起作用的问题吧。Kean和Jeremy最近分别写了文章提到了几个解决办法,在这里给大家共享一下,原文请参考Hitting breakpoints in .NET Class Libraries while debugging with Visual Studio 和Debugging with Visual Studio and RvtSamples
更新:
如果你是用VS+ AutoCAD 系列产品调试中发现问题,请参考峻祁连的另外一篇文章:Visual Studio 开发AutoCAD .net 应用程序调试时断点不起作用
断点不起作用的原因在于Visual Studio 在调试时启动了默认的debugger(v4.0),但是为了让我们的.net应用程序能在AutoCAD Map (或Revit)等上运行,我们需要.net 2.0 framework( 3.5也是运行在CLR 2.0之上的)。
解决办法我们有如下两个方案:
方案1
编辑宿主程序的config 文件(acad.exe.config, revit.exe.config等等),这个文件在AutoCAD的安装目录下。在</configuration>前面加上下面的代码:
<startup><supportedRuntime version="v2.0.50727" /></startup>
方案2
把宿主exe文件作为一个已有的项目加到您的解决方案中,并把debugger设置为v2.0
右键单击Solution Explorer,选择Add->Existing Project,浏览到AutoCAD的启动文件Acad.exe右键单击该项目,把它设置为启动项目 Set as StartUp Project打开项目属性对话框 Properties设置 Debugger Type 为 Managed v2.0再设置断点就可以按照以前的方法跟踪调试了。