1

我一直在关注Angel Six构建 SW 插件的初学者教程。我试图让 Visual Studio 自动注册 DLL,但我在 64 位机器上使用 64 位 SolidWorks,它似乎不想自动注册。我已经执行了本教程中描述的两个步骤(使程序集 COM 可见并注册 COM 互操作)。

当我构建时,我没有收到任何类型的错误,只是当我使用 regedit 检查注册表时,我没有在 SOFTWARE/SolidWorks/Addins 中看到我的插件,我似乎也无法在任何地方找到它(例如,我看了在 HKEY_CURRENT_USER 和 HKEY_LOCAL_MACHINE 下)。

就像我说的,我很好奇 Visual Studio 是否可以自动注册 64 位 DLL;我使用 64 位 regasm.exe 完成了手动注册过程,效果很好。

我在安装了 SolidWorks 2012 x64 Student Edition 的 Windows 7 机器上运行 VS 2010 Express。有人有想法吗?

4

1 回答 1

3

Visual Studio 2010 Express 中的“注册 COM 互操作”选项仅适用于 32 位 COM 服务器(如上面的 Hans Passat 所述)。要使 DLL 正确注册到 COM for SolidWorks,您可以运行 cmd AS ADMINISTRATOR,然后执行以下操作

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
regasm.exe "C:\full\path\to\your.dll" /codebase

这可以作为 VS 2010 express 中的构建后操作运行,只需转到项目的属性,单击构建选项卡,然后将上面的这两行添加到您可能已经拥有的任何命令中。

然后该插件应成功注册并与 64 位 SolidWorks 一起使用。

于 2013-01-17T15:54:56.957 回答