2016-06-29 5 views
4

Mein Programm sendet E-Mails über die Assembly 'Microsoft.Office.Interop.Outlook'. Das Problem ist, dass in PCs meines Klienten die Outlook-Version ist anders und ich bekomme diese Ausnahme:Senden Sie E-Mails über eine beliebige Version von Outlook

System.IO.FileNotFoundException: Konnte nicht geladen werden Datei oder Assembly ‚Microsoft.Office.Interop.Outlook, Version = 15,0 .0.0

Wie kann ich es lösen, damit es E-Mails über jede Version von Outlook senden kann?

+0

Eine grundlegende Lösung, die ich zur Verfügung stelle, ist: Kopieren Sie die Microsoft.Office.Interop.outlook.dll in bin-Pfad.Ich denke, der Client nicht Microsoft.Office.Interop. * In bin Pfad installiert.Nicht getestet! Von: http://stackoverflow.com/questions/20866895/could-not-load-file-or-assembly-microsoft-office-interop-word-version-12-0-0-0 – Destrif

+2

[* Any Version * ] (https://en.wikipedia.org/wiki/Microsoft_Outlook)? Was ist realistisch die Menge von Versionen, die Sie unterstützen müssen? (Ich kann einen offenen oberen Bereich akzeptieren, aber ernsthaft bezweifle, dass Sie Code benötigen, der mit Outlook 97 funktioniert) –

+2

Ist das Senden über Outlook obligatorisch? Hast du darüber nachgedacht, SmtpClient.Send zu verwenden? – Tyron78

Antwort

1

Entwickeln Sie mit einem Interop mit der niedrigsten Version von Outlook, die Sie unterstützen möchten (2010?) Und markieren Sie Ihre Referenz als versionsunabhängig.

+0

Können Sie bitte beschreiben, wie ich die Referenz als versionsunabhängig markieren? –

+1

Wählen Sie Outlook-Interop in Ihren Projektreferenzen, stellen Sie sicher, dass "Spezifische Version" auf False festgelegt ist. –

Verwandte Themen