У меня проблемы с Outlook Add In Я создал. Как-то Outlook не закрывается должным образом. Я видел все сообщения об использовании ReleaseComObject и т. Д.VSTO Outlook Добавить в проблему
==== ==== UPDATE
Я снова попытался все это, создавая новый пустой проект в новом решении и сейчас, по прошествии некоторого времени после закрытия Outlook, следующее сообщение об ошибке представляется меня в Visual Studio. Почему-то я думаю, что я должен отключить получение этого исключения в предыдущих решениях. Я не знаю, что это значит (пока), но я пойду на охоту. Может быть, это осветит проблему? Эффект все тот же: Outlook не отключается.
ContextSwitchDeadlock был обнаружен Сообщение: CLR не смог перейти из контекста COM 0x55cdd8 в контекст COM 0x55cf48 в течение 60 секунд. Поток, который владеет целевым контекстом/квартирой, скорее всего, либо выполняет ненакачивание, либо обрабатывает очень длительную операцию без перекачки сообщений Windows. Эта ситуация, как правило, имеет отрицательное влияние на производительность и может даже привести к тому, что приложение становится неактивным или память автоматически накапливается с течением времени. Чтобы избежать этой проблемы, все потоки с одной резьбой (STA) должны использовать примитивы ожидания накачки (например, CoWaitForMultipleHandles) и регулярно накачивать сообщения во время длительных операций.
Также, когда я пытаюсь удалить добавление, когда он не находится в безопасном режиме (например, он был загружен), Oulook блокируется при нажатии кнопки удаления в безопасном центре). Угадайте, что это одна и та же причина.
===== КОНЕЦ UPDATE ====
Для отладки, что происходит, я сделал самое простое мыслимые:
1) С помощью Visual Studio 2008 я создал новый Outlook 2007 Добавить в Проект
2) Я начал отладчик с новой надстройки в.
3) Через некоторое время я закрыть Outlook,, ожидая его, чтобы правильно закрыть.
Это не так. Код действительно достигает сгенерированного метода ThisAddIn_Shutdown. Но Outlook не закрывается.
Чтобы убедиться, что я не совсем сумасшедший, я скачал, скомпилировал и попробовал обширный пример, найденный по адресу http://code.msdn.microsoft.com/ContosoAutoOBA. Использование этого добавления имеет тот же эффект: Outlook не закрывается.
Я пробовал это без каких-либо дополнительных дополнений: это не имеет значения.
Для справки, находящейся ниже, вы можете найти сгенерированный код.
Я использую Windows 7, Visual Studio 2008, Office 2007, все обновления установлены.
Есть кто-то, который может светить на этот свет. Вы очень благодарны.
Спасибо,
Барт
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Outlook = Microsoft.Office.Interop.Outlook;
using Office = Microsoft.Office.Core;
namespace OutlookAddIn3
{
public partial class ThisAddIn
{
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
#region VSTO generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(ThisAddIn_Startup);
this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
}
#endregion
}
}
У вас есть какие-либо другие AddIns установлены (возможно, неосознанно, посмотрите, чтобы убедиться)? –