2009-10-27 4 views
0

У меня проблемы с 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 
    } 
} 
+0

У вас есть какие-либо другие AddIns установлены (возможно, неосознанно, посмотрите, чтобы убедиться)? –

ответ

0

Ах дни развития VSTO!

Из памяти - исправить это:

  1. Закройте все экземпляры Перспективы работы (диспетчер задач, завершение процесса)
  2. Запустите приложение с помощью кнопки отладки в VS.NET

Из памяти; он немного поиграет, когда уже запущен экземпляр.

+0

Боюсь, что это не так. Проблема также возникает при запуске за пределами Visual Studio. И не важно, нажимаю ли я кнопку или нажимаю F5. –

0

Первый раз. Какую версию пакета служебных услуг вы используете. В SP2 есть множество исправлений, которые помогают отключить.

Вы говорите, что если у вас нет установленного внешнего вида outlook, то все нормально? Как мне кажется, есть ли у вас другой установленный центр доверия inder. ?

+0

Я запускаю SP2, Windows тоже актуальна. Да, если у меня нет дополнения, то Outlook выключается нормально. Я также попытался удалить все остальное из центра доверия. Это не помогает. Я попробовал его на другом ПК, и он имеет тот же эффект. Наличие этого пустого добавленного приложения просто останавливает Outlook от закрытия. –

1

Похоже, что проблема с Microsoft CRM Add In является проблемой. Я отключил его раньше (фактически отключил все подключаемые модули Outlook), но, по-видимому, этого недостаточно. Фактически удаление его с моего компьютера решило проблему.

Кажется, что обновлен 7 плагин для плагина Microsoft CRM, но он отказывается устанавливать на мою машину. Увы, по крайней мере, я могу продолжить свой собственный подключаемый модуль Outlook. Я буду оставлять сообщение на своем экране, теперь являющееся моей новой системой CRM.

+0

Да, вы должны удалить их, поскольку некоторые будут загружаться по требованию. Gald, который вы отсортировали – 76mel

Смежные вопросы