3

我看到v2.0: 75%的帖子提到了 Autocad 并且有一个AutoCADApp.cs文件,但我似乎无法在一些随机主机应用程序下找到在 Office 之外使用Rubberduck的参考。有这个为 Rubberduck 添加新的主机应用程序,但 Autocad 已经完成了。

在 Autocad 下使用Rubberduck需要从源代码构建?或者是否有使用已经安装的发布包的程序?

4

1 回答 1

4

免责声明:我积极参与 Rubberduck 项目。

您可能只是缺少 AutoCAD 的 VBE 的注册表项来注意到您的小鸭子。

Rubberduck 的安装程序会搜索您安装的 Microsoft Office 的位数,然后使用该位数进行注册。

因此,如果您拥有 32 位 Office 和 32 位 CAD,则一切就绪。64 位 Office 和 64 位 CAD 也是如此。在您的情况下,您可能拥有 32 位 Office 但 64 位 CAD,因此没有注册表项可以告诉 64 位 VBE 加载名为 Rubberduck 的加载项。

您可以运行在项目 wiki 中找到的 PowerShell 脚本(它会创建 32 位和 64 位插件键),或手动创建缺少的 HKCU 注册表键,但随后会看到插件,但仍无法加载,因为 COM 互操作的东西是在 32 位节点下注册的,CAD 会期望 RD 在 64 位节点下注册。要注册 64 位,您必须(以管理员身份)运行 64 位regasm.exe命令,如安装程序 wiki 的“无法加载插件的疑难解答”部分所述

注意:您的操作系统的位数无关紧要。

调出管理命令提示符 (cmd.exe),然后执行以下命令之一:

32 位主机:

c:\windows\microsoft.net\framework\v4.0.30319\regasm.exe "(path to install folder)\rubberduck.dll" /codebase /tlb

64 位主机:

c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe "(path to install folder)\rubberduck.dll" /codebase /tlb

请注意,即使您自己从源代码构建插件,这些注册步骤也是必需的。

于 2017-08-04T14:44:29.053 回答