一、目的
基于之前本博发的Eplan Electric P8 Addin API开发框架,开发了一个DLL后,通过Eplan进行直接加载,但是加载之后,如果测试功能有问题,需要重新修改代码并再次生成DLL,这种情况,直接在Eplan里面通过卸载(Unload)当前DLL后再重新加载(Load)是不行的,因为Eplan在加载DLL时已经在$(AppData\Roaming\EPLAN\ShadowCopyAssemblies)里Copy了一份DLL,重新加载时,并不会覆盖之前的版本,只有重启EPLAN,才能加载最新的DLL。可是每次重启又很烦,有没有更好的方法呢?
另外,怎么更好的调试Eplan P8 Addin程序,包括断点调试。现在进行粗略讲解如下。
二、不重启Eplan仅重新加载Addin DLL
这确实不容易办到,因为在Eplan打开的情况下,你无法删除上述ShadowCopyAssemblies里的DLL,唯一能做的是,在VS里面生成DLL之前,修改一下程序集名称
这样的话,就不用重启Eplan了,只需要在Eplan中卸载之前的DLL,重新加载一下这个新命名的DLL就行了。虽不完美,但还是挺适用于Eplan启动较慢的机器,避免每次重启Eplan浪费时间。
当然,这种方式无法使用断点调试,不过可以在需要中断的地方,使用