我有一个从网络文件夹加载 AutoCAD 脚本的类库 dll。但是我需要一种方法来确保可以静默更新类库。对于 Windows 窗体应用程序,我只使用 ClickOnce 部署,然后使用 Application.Restart,但是由于这必须是类库(因为它是 AutoCAD 插件),这似乎是不可能的。
处理这个问题的最佳方法是什么?
我有一个从网络文件夹加载 AutoCAD 脚本的类库 dll。但是我需要一种方法来确保可以静默更新类库。对于 Windows 窗体应用程序,我只使用 ClickOnce 部署,然后使用 Application.Restart,但是由于这必须是类库(因为它是 AutoCAD 插件),这似乎是不可能的。
处理这个问题的最佳方法是什么?
这对于 AutoCAD 插件是不可能的,因为 DLL 是在 AppDomain 中加载的。这种“静默”更新仅适用于 C++。
您可以采用 TDD 方式,这是一种很好的做法。这是有关该主题的讲义,因为由于上述问题,AutoCAD 中的 TDD 并不那么容易。
您可以尝试在自己的课程中开发算法,以获得更好的 TDD 体验。然后将其与 DTO 一起传输到 AutoCAD 事务。
一些开发人员有 2 个(或更多)带有 AutoCAD 代码的 DLL:第一个主 DLL 在 AutoCAD 启动时加载、检查更新、下载和安装。第二个 DLL 实际上包含用户运行命令时需要加载的命令。
我最近构建了一个解决方案,允许将 .dll 的相同副本重新加载到 AutoCAD 中。
查看我的博客,了解完整的解决方案:
http://www.cadwiki.net/blogpost/How-to-reload-a-.dll-into-AutoCAD