2016-06-29 14 views
4

私のプログラムは、「Microsoft.Office.Interop.Outlook」アセンブリを使用して電子メールを送信します。 問題は私のクライアントのパソコンでOutlookのバージョンが異なっていると私はこの例外を取得することです:任意のバージョンのOutlookで電子メールを送信

System.IO.FileNotFoundException:ファイルまたはアセンブリをロードできませんでした「Microsoft.Office.Interop.Outlook、バージョン= 15.0 .0.0

Outlookのどのバージョンからでも電子メールを送信できるように、どうすれば解決できますか?

+0

私が提供している基本的な解決策は次のとおりです。Microsoft.Office.Interop.outlook.dllをbinパスにコピーしてコピーします。クライアントにはbin.binのパスにMicrosoft.Office.Interop。*がインストールされていないと思われます。 From: http://stackoverflow.com/questions/20866895/could-not-load-file-or-assembly-microsoft-office-interop-word-version-12-0-0-0 – Destrif

+2

[*任意のバージョン* ](https://en.wikipedia.org/wiki/Microsoft_Outlook)?現実的にサポートしなければならないバージョンのセットは何ですか? (私はオープンエンドの上限を受け入れることができますが、Outlook 97で動作するコードが必要かどうかを真剣に疑っています) –

+2

Outlook経由での送信は必須ですか? SmtpClient.Sendの使用について考えましたか? – Tyron78

答えて

1

サポートを予定しているOutlookの最低バージョン(2010年)との相互運用性を開発し、参照をバージョンに依存しないものとしてマークします。

+0

リファレンスをバージョンに依存しないものとしてマークする方法を教えてください。 –

+1

プロジェクトの参照でOutlookの相互運用機能を選択し、「特定のバージョン」がFalseに設定されていることを確認します。 –