从 WPF .Net Core 应用打开 Outlook 365 window

Opening Outlook 365 window from WPF .Net Core app

这个问题已经被问了很多,但我找不到合适的实际解决方案。

我正在使用 .Net Core 3.1 开发 WPF 应用程序,需要打开 Outlook (365, 16.0.12827.20328) window 并包含新电子邮件和附件。最简单的方法是使用 Interop。

我的代码:

        Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
        MailItem oMsg = (MailItem)oApp.CreateItem(OlItemType.olMailItem);

        oMsg.Subject = "subject";
        oMsg.BodyFormat = OlBodyFormat.olFormatHTML;
        oMsg.HTMLBody = "body";
        oMsg.Attachments.Add("filepath", OlAttachmentType.olByValue, Type.Missing, Type.Missing);

为此,我需要 Interop 包。我尝试安装 nuget Microsoft.Office.Interop.Outlook 并添加引用 COM -> Interop.Microsoft.Office.Interop.Outlook.

在这两种情况下我都收到错误: System.IO.FileNotFoundException: '无法加载文件或程序集 'office, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'。系统找不到指定的文件。'

我该怎么做才能解决这个问题? 为什么我需要版本 15.0.0.0?网上说版本 15 适用于 Outlook 2013。

通常要使 Outlook 自动化,您必须添加以下 COM 引用:

  • Microsoft Office 类型库 - 用于常见的 MS Office 类型。
  • Microsoft Office Outlook 类型库 - 用于特定于 Outlook 的类型。

您可以尝试创建一个新的 .net 框架应用程序并添加这些 COM 引用。或者只是尝试创建一个新的 VSTO 加载项并观察添加的 COM 引用。