如何:建立方案增益集
.Visual Studio 增益集在 Visual Studio 2013 中已不適用。 您應該升級您的增益集至 VSPackage 擴充套件。 如需升級的詳細資訊,請參閱 常見問題集:將增益集轉換成 VSPackage 擴充功能。
使用 [增益集精靈] 建立增益集 (Add-In) 時,會自動使增益集與整合式開發環境 (IDE) 產生關聯。 增益集可以在 IDE 啟動時載入,並且繼續執行到您將它卸載或結束 IDE 為止。 或者,您也可以使增益集與方案產生關聯,將其變成方案增益集。 當您因為系統相依性的關係,或者想要減少使用不必要的系統資源,而只想在特定方案中載入增益集時,方案增益集將會很有用。 當 Visual Studio 載入方案時,會先檢查方案 (.sln) 檔是否有參考增益集。 如果方案檔有參考增益集,便會載入增益集,並且依照一般 Visual Studio 增益集的方式呼叫相同的 IDTExtensibility2 方法。
[增益集精靈] 目前還無法指示增益集是否為方案增益集, 但是只要稍做修改,您就可以將增益集變成方案增益集。 一般的增益集會將資訊儲存在 .Addin XML 檔案中 (如果是 Unmanaged COM 增益集,會儲存在登錄中),而方案增益集則會將資訊儲存在方案的 .SLN 檔案中。
注意事項 |
---|
方案增益集必須使用傳統 COM 架構的登錄方式進行登錄。由於 Visual Studio 2005 增益集會使用新的 XML (.AddIn 檔案) 登錄,因此您必須將它設定為在 Windows 登錄中進行登錄。下列程序將會示範如何執行此項作業。 |
注意事項 |
---|
根據您目前使用的設定或版本,您所看到的對話方塊與功能表指令可能會與 [說明] 中描述的不同。使用 [一般開發設定] 開發了這些程序。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱Visual Studio 中的自訂開發設定。 |
建立方案增益集
下列程序將會描述如何建立方案增益集。
若要建立方案增益集
使用 [增益集精靈] 建立新的增益集專案。 選取適當的語言,並接受所有其他的預設值。
以滑鼠右鍵按一下專案,然後選取 [屬性]。
按一下 [建置] 索引標籤,並選取 [註冊 COM Interop] 方塊。
如此就可以將增益集當做 COM 物件來參考,這對方案增益集來說是必要的。 雖然 [增益集精靈] 為專案建立了 .AddIn XML 檔案,不過方案增益集並不需要這個檔案,因此您可以將此檔案刪除。
由於方案增益集是 COM 物件,因此必須將它登錄至 Windows 中。 若要這麼做,請啟動 Visual Studio 命令提示字元並且輸入 regasm /codebase SolutionAddinName.dll。
您無法透過登錄使增益集與方案檔產生關聯,必須使用程式碼的方式。 若要在方案檔中登錄增益集,請使用方案的 AddIns 集合的 Add 方法。
AddIns 會傳回 AddIns 集合。 這個集合與 AddIns 很類似,只不過它並不是包含 Visual Studio 中的所有增益集,而是只包含已在指定之方案檔中登錄過的增益集。 因此,若要將增益集登錄為方案增益集,請使用 Solution.AddIns.Add。
以下是 Visual Basic 和 Visual C# 中的範例 (這幾行程式碼應取代 [增益集精靈] 所提供之 OnConnection 方法中的增益集變數宣告)。
Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports EnvDTE100 . . . Dim addin As EnvDTE.AddIn = _ _applicationObject.Solution2.AddIns.Add("MyAddin1.Connect", "MyAddinName", "My add-in description", True)
using EnvDTE; using EnvDTE80; using EnvDTE90; using EnvDTE100; . . . EnvDTE.AddIn addin = _applicationObject.Solution.AddIns.Add(MyAddin.Connect, "MyAddinName", "My add-in description", true);