共用方式為


提供專案項目中的封裝和部署資訊

Visual Studio 中的所有 SharePoint 專案項目都有屬性,您可以在專案部署至 SharePoint 時使用這些屬性來提供其他資料。 這些屬性如下所示:

  • Feature 屬性

  • 功能接收器

  • 專案輸出參考

  • 安全控制項項目

    這些屬性會出現在 [屬性] 視窗中。

功能屬性

使用 [功能屬性] 屬性來指定功能使用的資料。 功能屬性資料是一組值 (儲存為索引鍵/值組),當部署至 SharePoint 時,這些值會隨附在功能當中。 部署功能之後,您可以在程式碼中存取屬性值。

當您將功能屬性值新增至專案項目時,此值會新增為項目功能資訊清單中的元素。 例如,在商務資料連接 (BDC) 模型專案中,ModelFileName 功能屬性會顯示為:

<Property Key="ModelFileName" Value="BdcModel1\BdcModel1.bdcm" />

在設定功能屬性值之後,其會新增為專案 .spdata 檔案中的 FeatureProperty 元素。 如需存取 SharePoint 中屬性的詳細資訊,請參閱 SPFeaturePropertyCollection 類別

來自所有專案項目的相同功能屬性值都會一起合併在功能資訊清單中。 不過,如果兩個不同的專案項目指定相同的功能屬性索引鍵,但其中的值不符,則會發生驗證錯誤。

若要將功能屬性直接新增至功能檔 (.feature),請呼叫 Visual Studio SharePoint 物件模型方法 Add。 如果您使用此方法,請注意,有關在功能屬性中新增相同功能屬性值的相同規則也適用於直接新增至功能檔的屬性。

功能接收器

功能接收器是專案項目所含的功能發生特定事件時要執行的程式碼。 例如,您可以定義在安裝、啟動或升級功能時執行的功能接收器。 新增功能接收器的一種方式,就是將其直接新增至功能,如逐步解說:新增功能事件接收器所述。 另一種方式是在 [功能接收器] 屬性中參考功能接收器類別名稱和組件。

直接方法

當您將功能接收器直接新增至功能時,程式碼檔案會放在方案總管中的 [功能] 節點底下。 當您建置 SharePoint 解決方案時,程式碼會編譯成組件並部署至 SharePoint。 根據預設,功能屬性 [接收者組件] 和 [接收者類別] 會參考類別名稱和組件。

Reference 方法

新增功能接收器的另一種方式,就是使用專案項目的 [功能接收器] 屬性來參考功能接收器組件。 功能接收器屬性值有兩個子屬性:組件類別名稱。 組件必須使用其完整「強式」名稱,而且類別名稱必須是完整類型名稱。 如需詳細資訊,請參閱強式名稱的組件。 將解決方案部署至 SharePoint 之後,功能會使用參考的功能接收器來處理功能事件。

在解決方案建置階段,功能中的功能接收器屬性值及其專案會合併在一起,以在 SharePoint 解決方案 (.wsp) 檔案的功能資訊清單中設定功能元素的 ReceiverAssembly 和 ReceiverClass 屬性。 因此,如果同時指定專案項目和功能的組件和類別名稱屬性值,專案項目和功能屬性值必須相符。 如果這些值不符,您會收到驗證錯誤。 如果您想要專案項目參考的功能接收器組件不是其功能使用的功能接收器組件,請將其移至另一個功能。

如果您參考的功能接收器組件尚未在伺服器上,您也須在套件中包含組件檔案本身;Visual Studio 不會為您新增該組件。 當您部署功能時,組件檔案會複製到系統的全域組件快取 (GAC) 或 SharePoint 實體目錄中的 Bin 資料夾。 如需詳細資訊,請參閱作法:新增和移除其他組件

如需功能接收器的詳細資訊,請參閱功能事件接收器功能事件

專案輸出參考

專案輸出參考屬性會指定專案項目需要執行的相依性,例如組件。 例如,假設您的解決方案具有 BDC 專案和類別專案。 如果 BDC 專案對類別專案所輸出的組件具有相依性,您可以在 BDC 專案的專案輸出參考屬性中參考該組件。 封裝 BDC 專案時,相依組件會包含在套件中。

專案輸出參考通常是組件,但在某些情況下 (例如 Silverlight 專案) 可以是其他檔案類型。

如需詳細資訊,請參閱作法:新增專案輸出參考

安全控制項項目

SharePoint 提供安全性機制 (稱為安全控制項項目),以限制不受信任使用者對特定控制項的存取。 根據設計,SharePoint 可讓不受信任的使用者在 SharePoint 伺服器上,上傳和建立 ASPX 頁面。 為了防止這些使用者將不安全的程式碼新增至 ASPX 頁面,SharePoint 會限制其對「安全控制項」的存取。 安全控制項是指定為安全的 ASPX 控制項和 Web 組件,可供您網站上的任何使用者使用。 如需詳細資訊,請參閱步驟 4:將 Web 組件加入至安全控制項清單

Visual Studio 中的每個 SharePoint 專案項目都有一個名為 [安全控制項項目] 的屬性,該屬性有兩個布林子屬性:[安全] 和 [防止指令碼威脅]。 [安全] 屬性會指定未受信任的使用者是否能存取控制項。 防止指令碼威脅屬性會指定不受信任的使用者是否可以檢視和變更控制項的屬性。

安全控制項項目是根據組件參考的。 您可以在專案項目的 [安全控制項項目] 屬性中輸入安全控制項項目,將這些安全控制項項目新增至專案的組件。 不過,將額外的組件新增至套件時,您也可以透過 [套件設計工具] 中的 [進階] 索引標籤,將安全控制項項目新增至專案的組件。 如需詳細資訊,請參閱作法:將控制項標記為安全控制項將 Web 組件註冊為安全控制項

安全控制項的 XML 項目

當您將安全控制項項目新增至專案項目或專案的組件時,參考會以下列格式寫入套件資訊清單:

<Assemblies>
    <Assembly Location="<assembly name>.dll"
      DeploymentTarget="<'GlobalAssemblyCache' or 'WebApplication'">>
        <SafeControls>
            <SafeControl Assembly="<assembly name>.dll" Namespace=
              "<SharePoint project name>" Safe="<true/false>"
                TypeName="<control name>"
                SafeAgainstScript="<true/false>" />
        </SafeControls>
    </Assembly>
</Assemblies>