4

クライアントのマシンにインストールされている場合、MS Outlook にアクセスしたい C# プロジェクトがあります。「outlook へのアクセス」部分は、outlook COM オブジェクトを参照し、そこから移動することによって行われました。私の問題は、「インストールされている場合」の部分です。現時点では、私のプロジェクトは Outlook がインストールされていないマシンではコンパイルできないため、Outlook コンポーネントを参照する必要はなく、代わりに Outlook が存在することを検出した後、それを動的に読み込んで使用する必要があると思いますが、まだ行っていません。これを行う方法を見つけました。私は正しいですか、これを行う方法についてのヒントはありますか?

ありがとう。

編集:解決しました。オフィス PIA の使用に関するコメントの 1 つで Hans Passant によって与えられたアドバイスに従うことが、最も抵抗の少ない方法であることが判明しました。オフィスのないマシンで PIA を取得するのに少し苦労しましたが、この質問に対する受け入れられた回答を使用して克服しました。

4

2 に答える 2

2

Outlook COM オブジェクトが存在しないマシンでアセンブリをコンパイルすることは絶対にできませんが、それはアプリケーションが Outlook のないマシンで完全に動作しないという意味ではありません。 Outlook COM オブジェクトにより、エラーまたは例外がスローされます。

この質問によると、COM オブジェクトが存在するかどうかを検出する最善の方法は、単純にインスタンス化を試み、インストールされていない場合に結果の例外をキャッチすることです。

于 2011-02-18T13:37:43.550 に答える