.NET Core 3.0 中的 Outlook Interop?
Outlook Interop in .NET Core 3.0?
我将我们的项目从 .NET Framework 迁移到 .NET Core 3.0(C#、WPF),现在我不能再使用 Microsoft.Office.Interop.Outlook
,因为它与 .NET Core 3.0 不兼容。我想要实现的是 opening/sending 预填充的 Outlook 电子邮件。
是否有此互操作 dll 的替代方法,或者是否有仅将 .NET Framework 用于此参考的方法?
- Microsoft.Office.Interop.Outlook
- NetOffice.Outlook
我在尝试使用 Microsoft.Office.Interop.Excel 15.0.4795.1000 时遇到了同样的问题。当我以 .net core 3.00 预览版 7 为目标时,它不会 运行。
现阶段我认为除了恢复到 .NEW Core 2.2 之外没有其他选择。
我在将 Excel 和 Outlook 的 Office 互操作组件迁移到 .NET Core 3.0 时遇到了同样的问题。我发现这只是 Nuget 包 Microsoft.Office.Interop.Outlook 和 Microsoft.Office.Interop.Excel 的问题。这些软件包可能需要更新才能与 3.0 一起使用?
如果我直接引用 Interop 程序集,则一切正常。这是一个 link 的示例。
如果您使用 Visual Studio,您需要一个额外的解决方法来实现这一点。来自链接示例:
Adding COM references to .NET Core projects from Visual Studio is not
currently supported. The workaround is to create a .NET Framework
project, add the COM references, and then copy the relevant
COMReference elements in the project.
这可以通过迂回的方式实现。方法如下:
- 创建一个临时的 .NET Framework 项目。
- 添加对 COM 组件的引用 (Microsoft.Outlook.Interop)。
- 打开该 csproj 文件并将所有这些组件复制到您的 .NET Core 项目中。
目前 nuget 包似乎不兼容。
这对我有用:
- 右键单击依赖项并单击 "Add Reference"
- Select COM 选项卡下的 Microsoft Outlook 16.0 对象库。
- 在你的项目Dependencies/COM下,select Interop.Microsoft.Office.Interop.Outlook引用,然后在"Properties"下设置"Embed Interop Types"为"Yes"
- 我还必须卸载 Microsoft.Office.Interop.Outlook NuGet 包,因为它与 Dependencies/COM 中的引用发生冲突。
Outlook 自动化现在运行良好。
我将我们的项目从 .NET Framework 迁移到 .NET Core 3.0(C#、WPF),现在我不能再使用 Microsoft.Office.Interop.Outlook
,因为它与 .NET Core 3.0 不兼容。我想要实现的是 opening/sending 预填充的 Outlook 电子邮件。
是否有此互操作 dll 的替代方法,或者是否有仅将 .NET Framework 用于此参考的方法?
- Microsoft.Office.Interop.Outlook
- NetOffice.Outlook
我在尝试使用 Microsoft.Office.Interop.Excel 15.0.4795.1000 时遇到了同样的问题。当我以 .net core 3.00 预览版 7 为目标时,它不会 运行。
现阶段我认为除了恢复到 .NEW Core 2.2 之外没有其他选择。
我在将 Excel 和 Outlook 的 Office 互操作组件迁移到 .NET Core 3.0 时遇到了同样的问题。我发现这只是 Nuget 包 Microsoft.Office.Interop.Outlook 和 Microsoft.Office.Interop.Excel 的问题。这些软件包可能需要更新才能与 3.0 一起使用?
如果我直接引用 Interop 程序集,则一切正常。这是一个 link 的示例。
如果您使用 Visual Studio,您需要一个额外的解决方法来实现这一点。来自链接示例:
Adding COM references to .NET Core projects from Visual Studio is not currently supported. The workaround is to create a .NET Framework project, add the COM references, and then copy the relevant COMReference elements in the project.
这可以通过迂回的方式实现。方法如下:
- 创建一个临时的 .NET Framework 项目。
- 添加对 COM 组件的引用 (Microsoft.Outlook.Interop)。
- 打开该 csproj 文件并将所有这些组件复制到您的 .NET Core 项目中。
目前 nuget 包似乎不兼容。
这对我有用:
- 右键单击依赖项并单击 "Add Reference"
- Select COM 选项卡下的 Microsoft Outlook 16.0 对象库。
- 在你的项目Dependencies/COM下,select Interop.Microsoft.Office.Interop.Outlook引用,然后在"Properties"下设置"Embed Interop Types"为"Yes"
- 我还必须卸载 Microsoft.Office.Interop.Outlook NuGet 包,因为它与 Dependencies/COM 中的引用发生冲突。
Outlook 自动化现在运行良好。