У меня есть приложение VSTO с перспективой. Я пытаюсь вызвать SeletNamesDialog из формы, которую я загружаю. Появится диалоговое окно, которое отлично подходит, и его модальность прекрасна, но, похоже, она перемещает мою форму за приложение Outlook. Поэтому после того, как я выбираю группу имен и нажимаю «ОК», диалог исчезает, но моя форма не отображается, если я не минимизирую внешний вид (что явно не идеально).В моем приложении VSTO outlook почему вызов SelectNamesDialog.Display() перемещает мою форму за Outlook?
Есть ли вообще избежать этого ?. Вот код, я использую, чтобы загрузить диалоговое окно:
var app = new Application();
AddressList gal = app.ActiveExplorer().Session.GetGlobalAddressList();
var dlg = app.Session.GetSelectNamesDialog();
dlg.InitialAddressList = gal;
bool b = dlg.Display();
var sb = new StringBuilder();
foreach (Recipient r in dlg.Recipients)
{
sb.Append(r.Name + ";");
}
txtPeople.Text = sb.ToString();
Когда я пытаюсь восстановить, я получаю эту ошибку: Попытка управляемого выполнения внутри ОС Загрузчик загрузчика. Не пытайтесь запустить управляемый код внутри функции DllMain или инициализации изображения, так как это может привести к зависанию приложения. – leora
У вас есть какие-либо предложения о том, как заставить это работать (либо через внешний вид, либо ошибку погашения). – leora
Это предупреждение можно безопасно игнорировать - оно регистрируется, поскольку Redemption динамически загружает DLL MAPI при запуске. Вы можете игнорировать эту ошибку, перейдя в Debug | Исключения | Управляемые помощники по отладке и очистка записи LoaderLock –