1

私はAngelSixでSWアドインを構築するための初心者向けチュートリアルに従っています。Visual StudioにDLLを自動的に登録させようとしていますが、64ビットマシンで64ビットSolidWorksを使用しており、自動的に登録したくないようです。チュートリアルで説明されている2つの手順(アセンブリをCOM-Visibleにし、COM相互運用機能に登録)を実行しました。

ビルドするとき、どのような種類のエラーも発生しません。regeditでレジストリをチェックすると、ソフトウェア/ SolidWorks / Addinsに自分のアドインが表示されず、どこにも見つからないようです(たとえば、見ただけです)。 HKEY_LOCAL_MACHINEに加えてHKEY_CURRENT_USERの下)。

私が言ったように、VisualStudioが64ビットDLLを自動的に登録できるかどうか興味があります。64ビットのregasm.exeを使用して手動登録プロセスを実行しましたが、問題なく機能しました。

SolidWorks 2012 x64StudentEditionがインストールされたWindows7マシンでVS2010Expressを実行しています。誰か考えがありますか?

4

1 に答える 1

3

Visual Studio 2010 Expressの[COM相互運用機能に登録]オプションは、32ビットCOMサーバーでのみ機能します(上記のHans Passatで説明されています)。DLLをCOMforSolidWorksに適切に登録するには、cmd AS ADMINISTRATORを実行してから、次の手順を実行します。

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

これは、VS 2010 Expressでビルド後のアクションとして実行できます。プロジェクトのプロパティに移動し、[ビルド]タブをクリックして、上記の2行を既存のコマンドに追加するだけです。

プラグインは正常に登録され、64ビットのSolidWorksで動作するはずです。

于 2013-01-17T15:54:56.957 に答える