ソリューションを作成する

ソリューション パッケージは、ファイル名拡張子が .wsp のファイルとマニフェスト ファイルを持つキャビネット (.cab) ファイルです。ソリューション パッケージには、以下のコンポーネントが含まれます。

  • サイト定義

  • フィーチャーの定義と、それに対応する要素定義およびファイル

  • Web パーツ ファイル (*.webpart、*.dwp)

  • テンプレート ファイルとルート ファイル。これには、以下のファイルが含まれます。

    • _layouts ファイル

    • リソース (*.resx)

    • リソース ファイル (たとえば、*.doc または *.xls)

  • アセンブリ。これには、以下のファイルが含まれます。

    • 安全なコントロールのエントリ

    • リソース

  • コード アクセス セキュリティ ポリシー

ソリューション ファイルは階層構造を持ち、マニフェスト ファイルがルートに置かれて、フィーチャー、リソース、およびサイト定義ディレクトリはサブディレクトリ内に置かれます。そして、フィーチャー定義で、関連ファイルがソリューション内のどこに置かれているかを定義します。

残りの構造はソリューションの作成者が定義できますが、特定のフィーチャーのファイルはそのフィーチャーのサブディレクトリ内に置き、特定のサイト定義のファイルはそのサイト定義のサブディレクトリ内に置くことをお勧めします。

注意

.wsp ファイル内のディレクトリ構造が、フロントエンド Web サーバーのファイル システムでの最終的なディレクトリ構造を決定します。

ソリューション パッケージを作成するには、以下の手順を実行します。

  1. ソリューションの manifest.xml ファイルを作成します。

    ソリューション マニフェスト (常に manifest.xml という名前になります) は、ソリューション ファイルのルートに格納します。このファイルで、処理するフィーチャー、サイト定義、リソース ファイル、Web パーツ ファイル、およびアセンブリのリストを定義します。このファイルは、ファイル構造を定義するわけではありません。ソリューションに含まれているのにマニフェスト XML ファイルのリストに入っていないファイルがあった場合、それらのファイルはどのような方法でも処理されません。

    以下に、manifest.xml ファイルの構造を示します。

    <Solution SolutionId="4AFC1350-F354-4439-B941-51377E845F2B" xmlns="https://schemas.microsoft.com/sharepoint/">
      <FeatureManifests>
        <FeatureManifest Location="FeatureLibrary\feature.xml"/>
      </FeatureManifests>
      <TemplateFiles>
        <TemplateFile Location="ControlTemplates\Featurelibraryform.ascx"/>
      </TemplateFiles>
      <RootFiles> 
      <!-- These files go into the 12\ directory and can be used for Web services and global resources -->
        <RootFile Location="ISAPI\MyWebService.asmx">
      </RootFiles>
      <Assemblies>
        <Assembly  DeploymentTarget="GlobalAssemblyCache" 
    Location="ms.samples.sharepoint.myFeature.dll"/>
      </Assemblies>
    </Solution>
    

    さらに、DwpFiles 要素を追加して .webpart ファイルまたは .dwp ファイルを指定したり、ResourceFiles 要素を追加してリソース ファイル、サイト定義、アプリケーション リソース、およびコード アクセス セキュリティ ポリシーを指定したりすることもできます。

  2. オプション。<ElementFile> タグで feature.xml ファイルに注釈を付けます。

    feature.xml ファイル内の <ElementManifests> タグで, .aspx ファイル (たとえば、allitems.aspx) やマスタ ページなどの機能内のすべての余分なファイルに <ElementFile Location="..."/> を追加します。

    注意

    この手順が必要なのは、ソリューションに機能が含まれている場合だけです。

  3. ソリューション パッケージ (.wsp ファイル) を作成します。

    ソリューション ファイルは本質的には .cab ファイルなので、ソリューション パッケージの作成には makecab.exe ツールを使用します。makecab.exe ツールは, .cab ファイルの構造が記述された .ddf ファイルへのポインタを受け取ります。.ddf ファイルの形式は、基本的には .inf ファイルと同じスタイルです。標準ヘッダーを宣言してから、一連のファイルを 1 行に 1 ファイルずつ列挙して、そのディスク上の場所と、それを .cab ファイル内のどこに置くかを指定します。

    ;
    .OPTION EXPLICIT     ; Generate errors 
    .Set CabinetNameTemplate=MySolutionFile.wsp     
    .set DiskDirectoryTemplate=CDROM ; All cabinets go in a single directory
    .Set CompressionType=MSZIP;** All files are compressed in cabinet files
    .Set UniqueFiles="ON"
    .Set Cabinet=on
    .Set DiskDirectory1=Package
    build\manifest.xml manifest.xml
    build\ MySolutionFile \feature.xml MySolutionFile \feature.xml
    ...
    

See Also

概念

ソリューション スキーマ

ソリューションの概要