我一直在按照初学者的教程在Angel Six上构建软件插件。我试图让Visual Studio自动注册动态链接库,但我在64位机器上使用的是64位SolidWorks,而且它似乎不想自动注册。我已经执行了本教程中描述的两个步骤(使程序集COM可见和注册COM Interop)。
当我编译时,我没有得到任何类型的错误,只是当我用regedit检查注册表时,我在SOFTWARE/SolidWorks/Addins中看不到我的加载项,我似乎在任何地方都找不到它(例如,除了HKEY_LOCAL_MACHINE之外,我还在HKEY_CURRENT_USER下查找)。
正如我所说的,我很好奇Visual Studio是否可以自动注册64位regasm.exe;我使用64位DLL完成了手动注册过程,而且工作得很好。
我在一台安装了SolidWorks 2012 x64学生版的Windows7机器上运行VS2010学习版。有人有什么想法吗?
发布于 2013-01-17 23:54:57
Visual Studio2010学习版中的“注册COM互操作”选项仅适用于32位COM服务器(如Hans Passat上面提到的)。若要使DLL正确注册到COM for SolidWorks,可以以管理员身份运行cmd,然后执行下列操作
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
regasm.exe "C:\full\path\to\your.dll" /codebase
这可以在VS2010 express中作为构建后操作运行,只需转到项目的属性,单击build选项卡,然后将上面的两行添加到您可能已经拥有的任何命令中。
然后,该插件应该成功注册并与64位SolidWorks一起工作。
https://stackoverflow.com/questions/14347082
复制相似问题