Share via


HOW TO:建立方案增益集

使用 [增益集精靈] 建立增益集 (Add-In) 時,會自動使增益集與整合式開發環境 (IDE) 產生關聯。 增益集可以在 IDE 啟動時載入,並且繼續執行到您將它卸載或結束 IDE 為止。 或者,您也可以使增益集與方案產生關聯,將其變成方案增益集。 當您因為系統相依性的關係,或者想要減少使用不必要的系統資源,而只想在特定方案中載入增益集時,方案增益集將會很有用。 當 Visual Studio 載入方案時,會先檢查方案 (.sln) 檔是否有參考增益集。 如果方案檔有參考增益集,便會載入增益集,並且依照一般 Visual Studio 增益集的方式呼叫相同的 IDTExtensibility2 方法。

[增益集精靈] 目前還無法指示增益集是否為方案增益集, 但是只要稍做修改,您就可以將增益集變成方案增益集。 一般的增益集會將資訊儲存在 .Addin XML 檔案中 (如果是 Unmanaged COM 增益集,會儲存在登錄中),而方案增益集則會將資訊儲存在方案的 .SLN 檔案中。

注意事項注意事項

方案增益集必須使用傳統 COM 架構的登錄方式進行登錄。 由於 Visual Studio 2005 增益集會使用新的 XML (.AddIn 檔案) 登錄,因此您必須將它設定為在 Windows 登錄中進行登錄。 下列程序將會示範如何執行此項作業。

注意事項注意事項

根據您目前使用的設定或版本,您所看到的對話方塊與功能表指令可能會與 [說明] 中描述的不同。 使用 [一般開發設定] 開發了這些程序。 若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。 如需詳細資訊,請參閱 使用設定

建立方案增益集

下列程序將會描述如何建立方案增益集。

若要建立方案增益集

  1. 使用 [增益集精靈] 建立新的增益集專案。 選取適當的語言,並接受所有其他的預設值。

  2. 以滑鼠右鍵按一下專案,然後選取 [屬性]。

  3. 按一下 [建置] 索引標籤,並選取 [註冊 COM Interop] 方塊。

    如此就可以將增益集當做 COM 物件來參考,這對方案增益集來說是必要的。 雖然 [增益集精靈] 為專案建立了 .AddIn XML 檔案,不過方案增益集並不需要這個檔案,因此您可以將此檔案刪除。

  4. 由於方案增益集是 COM 物件,因此必須將它登錄至 Windows 中。 若要這麼做,請啟動 Visual Studio 命令提示字元並且輸入 regasm /codebase SolutionAddinName.dll

  5. 您無法透過登錄使增益集與方案檔產生關聯,必須使用程式碼的方式。 若要在方案檔中登錄增益集,請使用方案的 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);
    

請參閱

工作

HOW TO:建立增益集

概念

Visual Studio 增益集和共用增益集的比較

控制專案與方案

VSProject2 物件簡介