共用方式為


方案套件元件

本文內容:

  • Solution 元素

  • FeatureManifest 元素

  • Assembly 元素

  • ApplicationResourceFile 元素

  • CodeAccessSecurity 元素

  • DwpFile 元素

  • Resource 元素

  • SiteDefinitionManifest 元素

  • RootFile 元素

  • TemplateFile 元素

本文討論方案套件的結構,並提供解決方案結構描述以及方案套件中使用之元素的說明。

「方案套件」**是配送套件,可將自訂 Office SharePoint Server 2007 及 Windows SharePoint Services 3.0 開發工作遞送至伺服器陣列中的網頁伺服器 (並可能遞送至應用程式伺服器)。可以配送在方案套件中的元件包括:

  • .NET Framework 組件,包裝用以驅動解決方案的程式碼。

  • 部署檔案 (如資源檔案、圖像或其他協助程式檔案)。

  • 許多解決方案都需要為網站、清單、文件庫、欄位、內容類型等遞送新的範本及定義。這些定義的格式是 CAML 型的 XML 檔案。

  • 必須在網頁伺服器層級上執行的設定;例如,用以登錄網頁組件的 Web.config 檔案。

此外,您必須在方案套件的部署程序中包含資訊清單檔案,以協助 Office SharePoint Server 2007。資訊清單檔案包含方案套件中所有資產的清單,以及這些資產的目標位置和必須出現這些資產的各種設定。資訊清單檔案的結構描述定義包含在 Wss.xsd 檔案中,此檔案位在 Office SharePoint Server 2007 系統資料夾內。

如需方案套件的詳細資訊,請參閱 MSDN 上 Windows SharePoint Services 3.0 軟體開發套件 (SDK) 中的方案及網頁組件套件 (英文) (https://go.microsoft.com/fwlink/?linkid=106479&clcid=0x404) 。

下列各節說明方案套件檔案的各項元素。

Solution 元素

Solution 元素是資訊清單檔案的根元素。SolutionId 屬性是該檔案的重要元素,其可識別方案存放區 (隸屬於設定資料庫) 中的解決方案。您可以用全域唯一識別碼 (GUID) 來識別解決方案,例如:

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

</Solution>

DeploymentServerTypeResetWebServer 是選用屬性。DeploymentServerType 可有二種可能值:ApplicationServerWebFrontEnd。一般而言,大部分的解決方案目標都是伺服器陣列中的網頁伺服器。以應用程式伺服器為目標的解決方案範例 (例如,索引伺服器、執行 Excel Services 的伺服器、文件轉換伺服器等) 包括自訂設定或其他自訂轉換程式。當解決方案部署至特定的 IIS Web 應用程式時,您可以使用 IISReset 屬性,開始網際網路資訊服務 (IIS) 的重設。

FeatureManifest 元素

在許多 SharePoint 產品及技術解決方案中,功能都扮演著重要的角色,因為功能代表解決方案的個別元件,例如欄位類型、網頁組件、工作流程等。您必須用 FeatureManifest 元素來表示解決方案中包含的每一項「功能」。下列程式碼範例包含 SharePoint 網站中廣告網頁組件的「功能」。

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

  <FeatureManifests>

    <FeatureManifest Location="HelloWorldWebPart_28c3eefe-2c03-4791-9f69-4405c80e1d92\feature.xml" />

  </FeatureManifests>

  …

</Solution>

當您將解決方案部署至網頁伺服器時,所有與「功能」相關的檔案都會複製到指定的位置。

Assembly 元素

大部分的 SharePoint 解決方案都會用到一或數個 .NET Framework 組件。Assembly 元素用在資訊清單檔案中時,可於目的地伺服器上提供動態連結程式庫 (DLL)。例如:

<Solution SolutionId="dda6427b-b880-46c0-a428-10c4bac0ce91" xmlns="https://schemas.microsoft.com/sharepoint/" >

  <Assemblies>

    <Assembly Location="HelloWorldWebPart.dll" DeploymentTarget="GlobalAssemblyCache" >

      <SafeControls>

        <SafeControl Assembly="HelloWorldWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" Namespace="MSDN" TypeName="HelloWorldWebPart" Safe="True" />

      </SafeControls>

  </Assembly>

  </Assemblies>

</Solution>

Assembly 元素的第一個屬性是 Location,可用以將 DLL 的相對路徑儲存在方案檔案中。接著是 DeploymentTarget 屬性,有二種可能值:GlobalAssemblyCacheWebApplicationGlobalAssemblyCache 表示組件應部署在全域組件快取中。WebApplication 則會要求 Windows SharePoint Services 3.0 將組件置於 IIS Web 應用程式的私人應用程式資料夾中。稍後會討論到,WebApplication 表示所使用的解決方案,取決於管理員在與 IIS Web 應用程式相關聯之 Web.config 檔案中設定的信任層級。將組件部署在全域組件快取中 (完全信任位置) 表示身為開發人員,您不需要費心設定此信任層級。

解決方案中的網頁組件必須在 Web.config 檔案中登錄為安全控制項。Assembly 元素可以包含一或數個 SafeControl 元素 (聚集在 SafeControls 元素中)。每個 SafeControl 元素都會說明必須在 Web.config 檔案中完成的設定。

Assembly 元素另一組可能的子元素是 ClassResource 元素 (聚集在 ClassResources 元素中)。每個元素都代表所部署之組件需要的可能資源。例如資源檔案、XML 檔案或圖片。

ApplicationResourceFile 元素

資訊清單檔案可包含一或數個 ApplicationResourceFile 元素,以及必須部署之資源檔案的相對路徑。在部署時,會將資源檔案複製到 IIS Web 應用程式的私人應用程式資源資料夾。例如:

<Solution SolutionId="8f37f0a7-ec35-4a63-9c3d-91205d9a2ac6"

          xmlns="https://schemas.microsoft.com/sharepoint/" >

    <ApplicationResourceFiles>

        <ApplicationResourceFile Location="hellowp.resx"/>

        <ApplicationResourceFile Location="hellowp.en-us.resx"/>

    </ApplicationResourceFiles>

</Solution>

CodeAccessSecurity 元素

當您要授與特定權限給您的程式碼時,將 CodeAccessSecurity 元素包含在資訊清單檔案中是相當重要的。簡言之,CodeAccessSecurity 元素具有一或數個 PolicyItem 子元素,每個子元素都會定義有關程式碼存取安全性原則以套用於解決方案的相關資訊。原則項目分為兩個部分:隸屬於該項目的權限清單,以及這些權限應為其扮演角色的組件。

權限清單 (每個權限皆以 IPermission 元素表示) 會收集在 PermissionSet 元素中,其為 PolicyItem 元素的子元素。每個 IPermission 元素都會定義讓組件正確執行所需的程式碼存取安全性權限。

一或數個 Assembly 元素可以扮演程式碼存取安全性中的角色。您必須依名稱、版本及完整公開金鑰來識別每個元素,一個一個進行定義。

DwpFile 元素

網頁組件庫中的網頁組件必須是可用的,才能將其放在網頁組件頁面上。副檔名為 .dwp 或 .webpart 的 XML 檔案會儲存讓網頁組件可供使用所需的中繼資料資訊。方案資訊清單檔案可以包含一或數個收集在 DwpFiles 元素中的 DwpFile 元素,每個元素各指向其中一個檔案。例如:

   <DwpFiles>

      <DwpFile FileName="hellowebpart.webpart" Location="hellowebpart.webpart"/>

   </DwpFiles>

Resource 元素

您可以將資源檔案放在含有「功能」的資料夾中,並從該位置使用。Resource 元素會在方案資訊清單檔案中代表這樣的資源。唯一要設定的屬性是資源檔案在套件中的相對路徑。

SiteDefinitionManifest 元素

您會在部署自訂網站定義時使用此元素。SiteDefinitionManifest 元素具有 Location 屬性,可選取指定資料夾中的所有檔案,並且在 \12\Template\SiteTemplates 資料夾中建立所需的資料夾。WebTempFile 子元素會部署 webtemp*.xml 檔案,讓 SharePoint 產品及技術知道該範本。例如:

  <SiteDefinitionManifests>

    <SiteDefinitionManifest Location="LitwareSiteTemplate">

      <WebTempFile Location="1033\xml\webtempLitware.xml" />

    </SiteDefinitionManifest>

  </SiteDefinitionManifests>

RootFile 元素

在部署期間可以將 RootFile 元素插入方案資訊清單檔案,以直接將方案檔案複製到 \12 資料夾下的指定資料夾。

TemplateFile 元素

TemplateFile 元素可用以定義必須部署在 \12\Template 資料夾下的範本檔案。您可以用此方式進行部署的檔案類型範例之一,就是 fldtypes*.xml 檔案,它會定義自訂欄位類型的詳細資訊。請使用 Location 屬性,指定該檔案的相對路徑。

下載本書

本主題隨附於下列可下載的叢書中,以便於閱讀與列印:

請參閱 Office SharePoint Server 2007 可下載的叢書 (英文) 上提供的完整叢書清單。

另請參閱

概念

部署自訂
部署已授權的網站元素自訂
部署已開發網站元素自訂