在使用Visual Studio C#对CAD进行二次开发的调试过程中,经常需要重启外部CAD,但起点CAD需要浪费很多时间,以下是不重启CAD调试的方法:
1、新建一个LoadX的类库项目,使用反射方法间接启动我们需要调试的CadBasic项目
namespace LoadX
{
public class LoadX
{
private Action cmd;
[CommandMethod("DDD")]
public void ReLoadX()
{
string dllName = "CadBasic.dll";
string className = "CadBasic.Cmd";
string methodName = "CmdSum";//CmdSum命令
//使用反射的方法,加载我们需要调试的CadBasic项目
#region Don't Change the Code
var adapterFileInfo = new FileInfo(Assembly.GetExecutingAssembly().Location);
var targetFilePath = Path.Combine(adapterFileInfo.DirectoryName, dllName);
var targetAssembly = Assembly.Load(File.ReadAllBytes(targetFilePath));
var targetType = targetAssembly.GetType(className);
var targetMethod = targetType.GetMethod(methodName);
var targetObject = Activator.CreateInstance(targetType);
cmd = () => targetMethod.Invoke(targetObject, null);
try
{
cmd?.Invoke();
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message,"Tips");
}
#endregion
}
}
}
2、在我们要调试的CadBasic项目中,定位到:属性——生成——输出,在Output Path当中将LoadX项目的Debug文件夹得路径复制进去
3、点击菜单重新生成解决方案
4、在外部手动打开任意一个CAD文件(不要点击Debug菜单)
5、输入Netload命令,在弹出的窗口中选择LoadX.dll,再输入DDD命令,即可完成调试
6、若需要更改调试的数值,则在解决方案浏览器当中选中解决方案名称,鼠标右键Property——Start Project——Current Selection,然后在解决方案浏览器当中选中CadBasic项目,再单击菜单中的Rebuild CadBasic(注:不可点击Rebuild Solution或Rebuild,否则不要重启CAD才能生效),再回到CAD,输入DDD命令,即可看到调试结果