5

reg free COM で使用する .NET 3.5 アプリケーションで参照されているアクティブな x コントロールがいくつかあります。ソリューションをビルドすると正常にビルドされますが、「COM 参照 'ActiveXControl' を分離する問題: レジストリ キー: 'パス' がインポートされませんでした」という一連の警告が表示されるため、生成されたマニフェストは不完全です。

正確なエラーは次のとおりです。

C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets (,): 
warning MSB3179: Problem isolating COM reference 'LegaceActiveXControl': 
Registry key 'HKEY_CLASSES_ROOT\CLSID\{GUID}\Implemented Categories\{AnotherGUID}' was not imported.

奇妙なのは、アクティブな x コントロールの 1 つが正常に構築されているのに、参照プロパティが同一であるように見えても、もう 1 つのコントロールは構築されていないことです。

現在考えられる唯一のことは、x64 ビット マシンでビルドしているということです。警告のレジストリ パスは、レジストリの 64 ビット部分のパスですが、アクティブな x コントロールは Wow6432Node に登録されています。

すべてのプロジェクトには、x86 のターゲット プラットフォームと .NET 3.5 のフレームワークがあります。MSBuild に 32 ビット レジストリを調べるように指示する方法はありますか、それとも他に何か不足していますか?

前もって感謝します。

4

0 に答える 0