0

私の Outlook アドインは、プラットフォーム ターゲットを「任意の CPU」としてコンパイルされており、32 ビットおよび 64 ビットの Outlook で正常に動作するようになりました。

redemption.dlアドインで lを使用して、一部の機能を拡張したいと考えています。ダウンロードした引き換えパッケージに 2 つのバージョンの DLL があることを確認しました (redemption.dllおよびredemption64.dll) 以下の同様のコードを使用して、アドインで DLL を使用したいと考えています。

Type t = Type.GetTypeFromProgID("MyDll.MyMailItem");
SafeMailItem sItem = (SafeMailItem) Activator.CreateInstance(t);

この場合、自分のプロジェクトを参照する dll はどれですか? redemption.dllそれともredemption64.dll

私のプロジェクトは、32 ビット Office と 64 ビット Office で正しい DLL をどのようにロードしますか?

4

1 に答える 1

1

正しい dll は、コードではなく、COM システムによって読み込まれます。

両方のバージョンが正しくインストールされ、レジストリに登録されている限り、コードは変更しなくても機能します。ただし、32 ビット マシンには 64 ビット バージョンの dll をインストールできないことに注意してください。

RedemptionLoaderの使用を検討することをお勧めします 。COM 登録を完全にスキップすると、RedemptionLoader はプロセスのビット数に基づいて適切な dll をロードします。

于 2013-08-28T20:14:34.363 に答える