The Nightmare (или не очень рекомендуется) Решение Проблема, на мой взгляд, заключалась в битовости приложения, как отметил Дмитрий.Однако проблема с преобразованием ваших приложений в 32-битные или 64-битные заключается в неизбежной и ужасной цепной реакции преобразования КАЖДОГО проекта в вашем решении, чтобы использовать ту же битность, чтобы приложение могло использовать MAPI одного и того же бита.Если у вас есть другие приложения, использующие те же библиотеки и проекты, они также могут сломаться, так что это легче сказать, чем сделать.На самом деле, я попробовал это, и это сломало проект во многих отношениях ... решил, что оно того не стоит.
Лучшее решение
Для Exchange Server 2007_SP1 и выше у нас есть удобный Web-сервис под названием MAPI веб-служб Exchange, который выполняет те же функции, что и погашение ... возможно, не такмного, но это делает трюк для ваших повседневных потребностей.Для получения более подробной информации ознакомьтесь с руководством по загрузке.
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13480
Это лучшее решение для меня, поскольку для него не требуется указывать какое-либо приложение, оно нетребовать каких-либо специальных инструкций и нет свободных концов.Простая DLL, которая делает именно то, что вам нужно, с аутентификацией и даже олицетворением.А кому не нравятся веб-сервисы?
Пример кода
using ExWs = Microsoft.Exchange.WebServices.Data;
ExWs.ExchangeService service = new
ExWs.ExchangeService(ExWs.ExchangeVersion.Exchange2007_SP1);
service.Credentials = new
ExWs.WebCredentials("username", "password", "domain");
service.AutodiscoverUrl("name@company.com");
Учебники Снова прочитайте Руководство или Google его.
другие примеры http://omegacoder.com/?p=454
Загрузка вложения из Exchange с использованием веб-служб Exchange