HOW TO:註冊和管理功能擴充

您可以加入自訂的型別和目標進行重構、分析資料庫程式碼的規則、「資料庫單元測試」(Database Unit Test) 條件以及資料產生器,以增加 Visual Studio Premium 或 Visual Studio Ultimate 提供的功能。 不過,擴充功能必須先註冊才能使用,不論是您建立的擴充或安裝其他人建立的擴充。 如需詳細資訊,請參閱擴充 Visual Studio 的資料庫功能

基於最佳做法,您應在 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions 資料夾內為擴充建立資料夾。 這樣一來,您就可以授與子資料夾寫入權限,而不是授與 Extensions 資料夾本身寫入權限。 使用者接著可以加入自訂擴充,但不會不小心變更屬於 Visual Studio 一部分的檔案。

警告

您必須在電腦上具有系統管理員權限,才能在 Program Files\Microsoft Visual Studio 10.0\VSTSDB\ 資料夾中建立子資料夾。 如果您沒有適當的權限,請連絡您的網路系統管理員。

安全性考量

在您安裝其他人建立的擴充之前,應該先了解以下風險:

  • 擴充的安裝程式可能是惡意的程式,可根據您的安裝權限來取得保護之資源的存取權。

  • 擴充本身可能是惡意的程式,如果使用擴充的使用者具有足夠的權限,可取得保護之資源的控制權。

若要讓風險降至最低,請只有當擴充來自於已知的來源時,再加以安裝。 如果您是從未受信任的來源取得擴充,您應該先檢查該擴充及其安裝程式 (如果有的話) 的原始程式碼,然後再安裝及使用該擴充。

若要安裝自訂擴充功能

  • 將已簽署的組件 (.dll) 複製到 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions\CustomExtensions 資料夾。

    CustomExtensions 是您或您的電腦系統管理員建立來包含擴充功能之組件和 XML 檔的資料夾名稱。

    注意事項注意事項

    基於最佳做法,請不要將組件和 XML 檔直接複製到 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions 資料夾。 如果改用子資料夾,可以防止不小心變更 Visual Studio 隨附的檔案。

    接下來,您必須註冊擴充,以讓它出現在 Visual Studio 中。

若要註冊擴充功能

  1. 按一下 [檢視] 功能表上的 [其他視窗],然後按一下 [命令視窗]。

  2. 在 [命令] 視窗中,輸入下列程式碼,並以組件的路徑和檔案名稱取代 FilePath。 請在路徑和檔案名稱周圍加上引號。

    注意事項注意事項

    如果擴充是由您建立,已編譯的 .dll 檔案的預設路徑為 <您的方案路徑>\bin\Debug 或 <您的方案路徑>\bin\Release。

    ? System.Reflection.Assembly.LoadFrom("FilePath").FullName
    
    ? System.Reflection.Assembly.LoadFrom(@"FilePath").FullName
    
  3. 按 ENTER。

  4. 將產生的程式碼行複製到剪貼簿中。 此程式碼行應該與下列程式碼相似:

    "GeneratorAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
    
  5. 開啟純文字編輯器,如 [記事本]。

  6. 提供下列資訊,並指定您自己的組件名稱、公開金鑰語彙基元和副檔名類型:

    <?xml version="1.0" encoding="utf-8" ?>
    <extensions assembly=""
                version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">
      <extension type="<enter extension type here>" assembly="<enter assembly name here>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4deb9b383d021b0" enabled="true"/>
    </extensions>
    

    此副檔名類型的格式為 "namespace.classname"。 此組件名稱不包含 .dll 副檔名。

    秘訣秘訣

    如果您的組件具有多個類別,此檔案可能包含副檔名類型清單。

  7. 以 .Extensions.xml 副檔名儲存檔案。

    例如,您可以將檔案命名為 <測試條件名稱>.Extensions.xml。

  8. 將此檔案加入至 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions\CustomExtensions 資料夾。

    CustomExtensions 是您或您的電腦系統管理員建立來包含擴充功能之組件和 XML 檔的資料夾名稱。

    注意事項注意事項

    基於最佳做法,請不要將組件和 XML 檔直接複製到 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions 資料夾。 如果改用子資料夾,可以防止不小心變更 Visual Studio 隨附的檔案。

  9. 關閉並重新開啟 Visual Studio。

    現在便可使用擴充。

範例

下列範例顯示註冊逐步解說:撰寫 SQL 的自訂靜態程式碼分析規則組件中建立的自訂資料庫程式碼分析規則所需的 XML 檔案。 您必須用您自己的公開金鑰和組件名稱來替代。 下列範例中的組件名稱為 "SampleRules"。

<?xml version="1.0" encoding="utf-8"?>
<extensions assembly=""
            version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">
  <extension type="SampleRules.AvoidWaitForDelayRule" assembly="SampleRules, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4deb9b383d021b0" enabled="true"/>
</extensions>

請參閱

概念

定義資料庫單元測試的自訂條件

使用自訂資料產生器產生特製化測試資料

建立自訂資料庫重構型別或目標

建立和註冊用於分析資料庫程式碼的其他規則