Yesudasan Moses Ответов: 2

Ошибка: извините, что у нас возникли проблемы с запуском outlook. одновременно может работать только одна версия outlook.


Привет друзья,

В моем приложении я загружаю контакты Outlook в свой общий список при запуске, и у меня есть более 2000 контактов в моем списке (загрузка всех контактов занимает не менее 4 минут).
Проблема заключается в том, что когда пользователь пытается открыть приложение Outlook, в то время как происходит извлечение этих контактов... Он показывает эту ошибку....

- извините, что у нас возникли проблемы с запуском outlook. одновременно может работать только одна версия outlook. Проверьте, работает ли другая версия outlook, или попробуйте перезагрузить компьютер"

Как от него избавиться... Пожалуйста, скажите мне срочно. Это мой код для извлечения контактов...

Outlook.Application app = new Outlook.Application();
                     Outlook.NameSpace ns = app.GetNamespace("MAPI");
                     Outlook.MAPIFolder contacts =
                     ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);

                     for (int i = 1; i < contacts.Items.Count + 1; i++)
                     {
                         //Adding COntacts to a Generic List
                     }

[no name]

Нет.... Я проверил. Это совсем не срочно. Избавиться от чего? Сообщение об ошибке? Перспективы? Пользователь? Запущенный экземпляр Outlook? Почему вы не проверяете наличие запущенного экземпляра Outlook?

Yesudasan Moses

Я имел в виду, что когда пользователь открывает исходное приложение Outlook для отправки почты, оно не запускается, а показывает ошибку.. Я думаю, что для Outlook разрешен только один экземпляр... Но я должен получить контакт, хотя, может быть, это займет несколько минут в зависимости от количества контактов..
Любой альтернативный метод извлечения контактов без ущерба для потребностей пользователя ??

Richard MacCutchan

Попросите пользователя подождать, пока ваше приложение не завершит загрузку; у вас нет другого выбора.

2 Ответов

Рейтинг:
20

ZurdoDev

Возможно, вы можете использовать веб-службы Exchange (EWS) вместо клиента Outlook, потому что единственный способ обойти вашу проблему-это подождать пользователя. Ошибка в этом очевидна.

Вот такой пример:
http://chrisrisner.com/Programmatically-Accessing-Outlook-Contacts-Via-Exchange-Web-Services[^]


Maciej Los

Хорошее предложение.
+5!
Видишь мой ;)

ZurdoDev

Это хорошо. Я думаю, что в этом случае его код уже запущен, а затем пользователь запускает Outlook, но так как его код уже был запущен, они получают ошибку.

Рейтинг:
0

Maciej Los

Попробуйте получить существующий экземпляр MS Outlook, прежде чем создавать новый.

Как получить и войти в экземпляр Outlook[^]