2

私は、プロセス外で実行し、x64 サーバーで x86 のみの COM コンポーネントをラップする、ばかばかしい単純な ServicedComponent (COM+ コンポーネント) を作成しました。私のテスト VM (Server 2008 R2) では正常に動作します。製品ボックスで、ファイルが見つからないという例外が発生します。

C:\Windows\Microsoft.NET\Framework\v2.0.50727>C:\Testapp.exe 指定されたファイルが見つかりません。(HRESULT からの例外: 0x80070002) System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal (Int32 errorCode、IntPtr errorInfo) で System.EnterpriseServices.Thunk.Proxy.CoCreateObject (型 serverType、ブール型 bQuerySCInfo、ブール型 & bIsAnotherProcess、文字列 & uri) で System. EnterpriseServices.ServicedComponentProxyAttribute.CreateInstance (型 serverType) System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK (型 serverType、Object [] props、Boolean bNewObj) で、D:\TFS の Testapp.Program.Main (String [] args) で\Testapp\Program.cs:11行目

Program.cs の 11 行目で、ラップする COM タイプのオブジェクトをインスタンス化します。

繰り返しますが、これは x64 Win 7 開発マシンと x64 テスト VM で正常に動作します。コンポーネント x86 をビルドし、32 ビット コマンド プロンプトから regsvcs の 32 ビット バージョンに登録しています。

一体何を間違えているのか、忘れているのか?

4

0 に答える 0