0

次のようなオブジェクトを使用した後、outlook.application を終了しようとしています。

//variables intialisation
 var outlookApp = new Microsoft.Office.Interop.Outlook.Application();
 RDOFolder store;
 RDOStore mailbox;
 RDOSession session;

 session = Redemption.RedemptionLoader.new_RDOSession();
 session.MAPIOBJECT = outlookApp.Session.MAPIOBJECT;
 mailbox = session.GetDefaultFolder(rdoDefaultFolder.olFolderInbox).Store;
 store = session.GetDefaultFolder(rdoDefaultFolder.olFolderInbox).Parent;

//...code goes on

//Quitting
session.LogOff();
outlookApp.Quit();
Marshal.ReleaseComObject(store);
Marshal.ReleaseComObject(mailbox);
Marshal.ReleaseComObject(session);
Marshal.ReleaseComObject(outlookApp);

何が問題なのですか?Outlookプロセスで何も起こっていないことを確認するために数分間待機しようとしましたが、それが終了するのを妨げていますが、それ自体は決して閉じません。Outlook アイコンをクリックして手動で閉じると、次のエラーが表示されます。

Outlook はこのビューを表示できません

しかし、session.LogOff() の前にブレークした場合、Outlook をフル モードで開き、コードを再起動すると、問題なく終了します。

ありがとう!

4

1 に答える 1

1

RDOSession.Logoff を呼び出して、Outlook MAPI セッションを強制終了しています。そうしないでください。セッションは Outlook に属しています。Namespace.MAPIOBJECT プロパティを読み取って借用しただけです。

于 2013-08-21T16:59:44.837 に答える