/ / VSTO Outlook Add In Problem - Outlook, vsto, dodatek

VSTO Outlook Add In Problem - Outlook, VSTO, dodatek

Mam problemy z utworzonym przeze mnie dodatkiem Outlook. Jakoś Outlook nie zamyka się poprawnie. Widziałem wszystkie wpisy dotyczące używania ReleaseComObject i tym podobnych.

==== AKTUALIZACJA ====

Spróbowałem wszystkiego jeszcze raz, tworząc nowypusty projekt w nowym rozwiązaniu i teraz, po pewnym czasie od zamknięcia Outlooka, w Visual Studio pojawia się następujący komunikat o błędzie. Jakoś myślę, że musiałem wyłączyć uzyskiwanie tego wyjątku w poprzednich rozwiązaniach. Nie wiem, co to oznacza (jeszcze), ale pójdę na polowanie. Może to rzuci trochę światła na problem? Efekt jest nadal taki sam: Outlook się nie zamyka.

Wykryto ContextSwitchDeadlock Wiadomość:Środowisko CLR nie może przejść z kontekstu COM 0x55cdd8 do kontekstu COM 0x55cf48 przez 60 sekund. Wątek, który jest właścicielem kontekstu/apartamentu docelowego, najprawdopodobniej albo wykonuje oczekiwanie bez pompowania, albo przetwarza bardzo długo działającą operację bez pompowania komunikatów systemu Windows. Ta sytuacja ma zazwyczaj negatywny wpływ na wydajność i może nawet prowadzić do tego, że aplikacja przestanie odpowiadać lub zużycie pamięci będzie się stale narastać w czasie. Aby uniknąć tego problemu, wszystkie wątki jednowątkowe (STA) powinny używać operacji podstawowych oczekiwania na pompowanie (takich jak CoWaitForMultipleHandles) i rutynowo pompować komunikaty podczas długotrwałych operacji.

Również, gdy próbuję usunąć dodatek, gdy nie jest w trybie awaryjnym (np. został załadowany), Oulook blokuje się po naciśnięciu przycisku usuwania w bezpiecznym środku). Zgadnij, że to ta sama przyczyna.

===== KONIEC AKTUALIZACJI ====

Aby debugować, co się dzieje, zrobiłem najprostszą rzecz, jaką można sobie wyobrazić:

1) Używając Visual Studio 2008 stworzyłem nowy projekt Outlook 2007 Add In In

2) Uruchomiłem debugger z nowym dodatkiem.

3) Po pewnym czasie zamykam Outlooka, spodziewając się, że zamknie się poprawnie.

Nie. Kod dociera do wygenerowanej metody ThisAddIn_Shutdown. Ale program Outlook się nie zamyka.

Aby upewnić się, że nie jestem całkowicie szalony, pobrałem, skompilowałem i wypróbowałem obszerny przykład znaleziony na http://code.msdn.microsoft.com/ContosoAutoOBA. Korzystanie z tego dodatku ma ten sam efekt: program Outlook nie zamyka się.

Próbowałem tego bez innych dostępnych dodatków: to nie ma znaczenia.

Dla porządku, poniżej znajdziesz wygenerowany kod.

Używam Windows 7, Visual Studio 2008, Office 2007, wszystkie aktualizacje są zainstalowane.

Jest tu ktoś które mogą rzucić na to światło. Twoja pomoc jest bardzo ceniona.

Dzięki,

Bart

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
}
}

Odpowiedzi:

1 dla odpowiedzi № 1

Wygląda na to, że dodatek Microsoft CRM jestproblem. Wyłączyłem go wcześniej (w rzeczywistości wyłączyłem wszystkie wtyczki do Outlooka), ale najwyraźniej to nie wystarczy. Faktycznie usunięcie go z komputera rozwiązało problem.

Wygląda na to, że pojawiła się aktualizacja 7 dlaWtyczka Microsoft CRM, ale odmawia instalacji na moim komputerze. Niestety, przynajmniej mogę kontynuować z własną wtyczką do Outlooka. Będę publikował ją na moim ekranie od teraz jako mój nowy system CRM.


0 dla odpowiedzi nr 2

Ach dni rozwoju VSTO!

Z pamięci - aby to naprawić:

  1. Zamknij wszystkie uruchomione instancje programu Outlook (Menedżer zadań, Zakończ proces)
  2. Uruchom aplikację za pomocą przycisku debugowania w VS.NET

Z pamięci; działa trochę, gdy instancja była już uruchomiona.


0 dla odpowiedzi № 3

Najpierw. Z jakiej wersji pakietu Office Service Pack korzystasz. W dodatku SP2 jest mnóstwo poprawek ułatwiających zamykanie.

Czy mówisz, że jeśli nie masz zainstalowanego dodatku, program Outlook wyłącza się w porządku? Zastanawiam się, czy masz jakieś inne zainstalowane centrum zaufania inder. ?