RPC 服务器不可用(vb.net 中的 outlook)

The RPC server is unavailable (outlook in vb.net)

我正在开发小应用程序。它的目的是单击按钮生成一些电子邮件并使用此模板打开 outlook "new email" window。我正在使用 Outlook interop 14。在应用程序启动时,我创建了 New Outlook.Application() 实例。这将创建 outlook.exe 个进程。

我生成和打开电子邮件的方法:

Private Sub GenerateEmail(...)
         ...
         'this line throws RPC exception when no outlook.exe process exists
         Dim OutlookEmail As Outlook.MailItem = CType(OutlApp.CreateItem(Outlook.OlItemType.olMailItem), Outlook.MailItem)
         ...
         OutlookEmail.Display()
         ...
End Sub

当我 运行 一个应用程序时,outlook.exe 进程启动。我单击生成电子邮件,Outlook 打开 window 但是当我关闭此 "new email" window 它也终止了 outlook.exe 进程。这是问题,因为我第二次想生成一封电子邮件时收到错误 "The RPC server is unavailable"。问题是如何关闭 window 但不终止 outlook 进程。顺便说一句,当我第二次尝试创建 Outlook.Application 的新实例时(在终止前一个实例之后),我也遇到了同样的错误。

Outlook 在其最后一个可见 window 关闭时退出(这可能需要一些时间)。为防止这种情况发生,检索一个 MAPIFolder 对象(例如使用 Application.Session.GetDefaultFolderFolder(olFolderInbox))并将通过调用 MAPIFolder.GetExplorer() 返回的 Explorer 对象存储在 global/class 变量中。 Explorer 对象不必可见。