Проблема с Interop.CDO

#c# #email #64-bit

#c# #Адрес электронной почты #64-разрядный

Вопрос:

Я создал приложение (скомпилированное любым процессором), которое использует библиотеку, также скомпилированную как любой процессор (ссылка на библиотеку interop.CDO), и у меня есть это сообщение об ошибке:

Не удалось загрузить файл или сборку ‘Interop.CDO, версия = 1.0.0.0, язык интерфейса = нейтральный, PublicKeyToken =null’ или одна из его зависимостей.Была предпринята попытка загрузить программу с неправильным форматом.

Проблема связана с совместимостью 64/32. есть решение этой проблемы?

Спасибо за помощь.

Ответ №1:

Я думаю, что CDO устарел в предыдущем столетии. Его 64-разрядной версии, конечно, никогда не будет. В этом нет особого смысла, .NET имеет хорошую поддержку SMTP.

При необходимости используйте Project Properties, вкладку Build, Platform target = x86 в вашем EXE-проекте. Если это ASP, то вам придется запускать свое веб-приложение в 32-разрядном пуле приложений.

Ответ №2:

Я не знаю, в чем ваша проблема, но я бы посоветовал вам больше не использовать COM-компонент. Вы не можете использовать System.Net.Mail?

Некоторый код может помочь:

 MailMessage message = new MailMessage();

message.From = new MailAddress("sender@foo.bar.com");

message.To.Add(new MailAddress("recipient1@foo.bar.com"));
message.To.Add(new MailAddress("recipient2@foo.bar.com"));

message.CC.Add(new MailAddress("carboncopy@foo.bar.com"));

message.Subject = "This is my subject";
message.Body = "This is the content";

SmtpClient client = new SmtpClient();

client.Send(message);