私はC++を呼び出すためのC#COM相互運用機能を作成します。 私はregasmによってdllとtlbファイルを登録しました。 私はC#のコードを変更しました(私はインターフェイスの定義を変更していませんでした。ただ実装が変更されました)。 COMの1つのインターフェイスがエラー0x80131509を返します。奇妙なことは、一部のコンピュータでしか起こらないことです(私のPCの開発はうまくいくので、この問題をデバッグすることはできません)。 C#COMがC++でどのように働いていたかは、私が登録した後、ウィンドウレジストリでキー値を作成することがわかりました(regasm/regfileが生成したもの)。 COM dllがどこにあるかをC++がどのように知っているか(検索パス環境変数)どのような実行時にtlbファイルの使用ですか?C++ COM interopエラーを呼び出す:HRESULT 0x80131509
どのような提案ですか?
ご返信ありがとうございます。今日、私は問題のPCにログインし、最終的にそれが間違っている理由を見つける。それは例外をスローされたC#COMの部分のためですが、私はそれをキャッチしませんでした。私はそれが再現できない理由は、彼らが差異データベースに接続していることです。 – ArdenZhao