为多应用程序创建 VSTO 加载项
本文关键字:VSTO 加载项 创建 应用程序 | 更新日期: 2023-09-27 18:17:21
是否可以为多办公应用程序创建 VSTO 插件?
我是否可以外包我希望为每个应用程序提供的功能,然后为每个应用程序创建一个外接程序?如果是,有没有更好的方法来实现这一目标?
我建议为每个Office应用程序制作一个带有add-in project
的solution
。
然后将一个class library
项目添加到解决方案中,并从每个加载项项目中引用该项目。
这样,您就可以集中所有加载项中使用的代码。
如果需要与活动应用程序或文档交互,则可以检测调用对象的类型,并将其类型转换为相关的应用程序/文档类型。
是的 - 您可以将常用函数放入共享 DLL 中,就像任何其他应用程序一样。由于每个 VSTO 项目面向不同的应用程序结构和潜在的 UI 范例,因此我建议在单个解决方案中使用不同的 VSTO 项目,并使用一个包含通用代码的共享程序集。
VSTO 不支持创建多主机加载项。您需要为每个宿主创建单独的项目,并对共享代码库使用类库。
请注意,外接程序快速版允许创建多主机 COM 外接程序。因此,单个外接程序项目可以在多个主机中运行。它来自 IDTExtensibility2 接口。我不知道为什么VSTO创建者没有向开发人员提供这样的功能。
VSTO 本身不提供这样的选项。如果要获取所有应用程序的单个项目,可以使用填充程序加载项。这样就可以从同一 dll 在所有应用程序中运行加载项。唯一的问题 - 您的代码需要处理哪个应用程序开始调用它以运行单独的逻辑或调用特定的Office API函数。