#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);