簡體   English   中英

創建VSTO添加用於多個應用程序

[英]Creating a VSTO Add in for multible applications

是否可以為多功能辦公應用程序創建VSTO添加?

我可以將我想要的功能外包給每個應用程序,然后為每個應用程序創建一個加載項嗎? 如果是,是否有更好的方法來實現這一目標?

是的 - 您可以將常用功能放入共享DLL中,就像任何其他應用程序一樣。 由於每個VSTO項目都針對不同的應用程序結構和潛在的UI范例,因此我建議在單個解決方案中使用不同的VSTO項目,以及使用公共代碼的共享程序集。

我建議為每個Office應用程序創建一個帶有add-in projectsolution

然后將一個class library項目添加到解決方案中,並從每個附加項目中引用它。

這樣,您可以集中所有加載項中使用的代碼。

如果需要與活動應用程序或文檔進行交互,則可以檢測調用對象的類型並將其類型化為相關的應用程序/文檔類型。

VSTO不支持創建多主機加載項。 您需要為每個主機創建單獨的項目,並為共享代碼庫使用類庫。

注意, Add-in Express允許創建多主機COM加載項。 因此,可以在多個主機中運行單個加載項項目。 它來自IDTExtensibility2接口。 我不知道為什么VSTO創建者沒有為開發者提供這樣的功能。

VSTO本身並沒有提供這樣的選擇。 如果要為所有應用程序獲取單個項目,可以使用填充程序加載項。 這樣就可以在同一個dll的所有應用程序中運行加載項。 唯一的問題 - 您的代碼需要處理什么應用程序開始調用它來運行單獨的邏輯或調用特定的Office API函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM