带有 .NET Core 3.0 的 VSTO

VSTO with .NET Core 3.0

我想知道 VSTO 是否适用于支持 COM 对象的新 .NET Core 3。可以使用 .Net Framework 创建项目,然后通过修改 .csproj 文件将其迁移到 .NET Core,但是 VSTO 兼容吗? 如果没有,是否有 .NET Core 3 中 VSTO 的替代方案?

目前看来没有别的办法了。有请求在未来将此支持添加到 .Net 5 https://developercommunity.visualstudio.com/idea/757925/please-port-visual-studio-tools-for-office-vsto-to.html

目前推荐使用Office JS平台创建加载项。这些也将跨平台兼容 (https://blogs.msdn.microsoft.com/deva/2018/04/02/office-developer-difference-between-office-web-addin-vs-comvsto-addin)

VSTO 目前不支持.Net 核心。
但是没有什么能阻止您通过实现公开 IDTEXtensibility2 接口的 COM 对象来创建纯基于 COM 的插件。
问题是为什么需要单独使用.Net Core开发插件?您的插件将 运行 安装在安装了 Office 套件的机器上,这意味着 .Net 运行-time 也将被安装。

基于 .NET 5 的示例实现和加载项(对于 Visio,在 WIX 上设置) 应该编译并工作。

向功能区添加一个可单击按钮: https://github.com/nbelyh/VisioComAddinNet5

不过,这些步骤必须对所有办公应用程序通用。