我遇到了Outlook創建的問題。不知何故Outlook不能正常關閉。我已經看過關於使用ReleaseComObject等的所有貼子。VSTO Outlook添加問題
==== ==== UPDATE
我再次嘗試了整個事情,關閉Outlook中出現以下錯誤信息呈現給後創造了一個新的解決方案一個新的空項目,現在,一段時間後,我在Visual Studio中。不知何故,我認爲我必須在先前的解決方案中禁用這個例外。我不知道它是什麼意思(但),但我會去尋找。也許這會對這個問題有所啓發?效果仍然相同:Outlook不關閉。
ContextSwitchDeadlock被檢測到 消息:CLR已經無法從COM上下文0x55cdd8轉換到COM上下文0x55cf48 60秒。擁有目的地上下文/公寓的線程很可能要麼進行非抽水等待,要麼處理非常長的運行操作而不抽取Windows消息。這種情況通常會對性能產生負面影響,甚至可能導致應用程序無法響應或內存使用量不斷累積。爲了避免這個問題,所有的單線程單元(STA)線程都應該使用抽取等待原語(比如CoWaitForMultipleHandles),並在長時間運行的操作中定期抽取消息。
另外,當我嘗試刪除不在安全模式(例如,它已被加載)的安全模式下的加入時,Oulook在安全中心點擊刪除按鈕時鎖定)。猜猜這是同樣的原因。
UPDATE ====的===== END
要調試這是怎麼回事我也可以想象到的最簡單的事情:
1)使用Visual Studio 2008年,我創建了一個新的Outlook 2007中添加項目
2)我過了一段時間我關閉Outlook中開始調試,在新的補充。
3),期待它正確地關閉。
它沒有。該代碼確實到達了生成的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(可能在不知不覺中,看看確定)? – 2009-10-27 19:00:53