DCOM 経由でサード パーティのソフトウェアを制御する ASP.NET Core 3.1 WebApp があります。サードパーティのソフトウェアを新しいバージョンに更新するまで、それはうまくいきました。
もちろん、CSID ([スタート] - [コンポーネント サービス] - [コンピュータ] - [DCOM] にあります) を clsid "{2997C622-CCC7-4533-9B0B-06F28D5EEC12} (古いバージョン) "から clsid "{A9BB03A7-C8C3-492D-A2DF-35307DC438C5" に変更します。 (新しいバージョン) その後、例外が発生します: System.Runtime.InteropServices.COMException (0x80040154):マシン 127.0.0.1 から CLSID {A9BB03A7-C8C3-492D-A2DF-35307DC438C5} を持つリモート コンポーネントの COM クラス ファクトリを取得しています次のエラーが原因で失敗しました: 80040154 127.0.0.1。
C# WebApp を x86 アプリケーションとしてビルドすると、「System.BadImageFormatException: ファイルまたはアセンブリを読み込めませんでした」という別のエラー メッセージが表示されます。ソフトウェアが x64 ビット アプリケーションであるため、これは論理的です。(32 ビットはありません)。ここで、プロセッサ アーキテクチャの違いを避けるために、「Any CPU」から「x64」に設定しましたが、例外 80040154 は残ります。
Windows レジストリには、新しいソフトウェア バージョンからの CSID のエントリはありません。古いバージョンのコンピュータ\HKEY_CLASSES_ROOT\CLSID{2997C622-CCC7-4533-9B0B-06F28D5EEC12}についてのみ 、手動でエントリを作成しようとしました。それは例外なく実行されますが、アプリはハングアップします。
誰かが私の問題の解決策を知っていますか?