要素を既存の機能に追加する
最終更新日: 2010年9月21日
適用対象: SharePoint Foundation 2010
新しい要素を既存の機能に追加する場合、基本的な機能アップグレード シナリオに以下の手順を含める場合があります。
新しい要素を既存の機能に追加する
Version 属性が Feature.xml にない場合は追加し、その属性を適切な値 (例: 既存のバージョンが 1.0.0.0 の場合は Version="2.0.0.0") に設定します。バージョン番号を増加しない場合、機能アップグレード コードは呼び出されません。
<UpgradeActions> セクションを Feature.xml ファイルに追加します。
機能に追加する新しいすべての要素を含む新しい Elements.xml ファイルを作成し、一意の名前 (例: Elements2.xml) を付けます。
次の例のように、Elements2.xml ファイルを、メインの <ElementManifests> セクション、および <UpgradeActions> セクション内の <ApplyElementManifests> セクションで参照します。
<Feature Id="712224F9-6708-4965-A18C-B73CA86AEFCA" Title="MyCoolFeature" Description="My cool feature." Version="2.0.0.0" Scope="Site" Hidden="FALSE" DefaultResourceFile="core" xmlns="https://schemas.microsoft.com/sharepoint/"> <ElementManifests> <ElementManifest Location="Elements.xml" /> <ElementManifest Location="Elements2.xml" /> </ElementManifests> <UpgradeActions <VersionRange EndVersion="2.0.0.0"> <ApplyElementManifests> <ElementManifest Location="Elements2.xml" /> </ApplyElementManifests> </VersionRange> </UpgradeActions> </Feature>
バージョン "2" の機能をアクティブ化すると、Elements.xml と Elements2.xml ファイル内のすべての要素が準備されます。サーバー ファームでアップグレードを実行すると、機能アップグレード インフラストラクチャは、バージョン 2.0.0.0 未満のバージョン番号を持つ、機能のすべてのインスタンスに対するクエリを実行します。Elements2.xml ファイル内のすべての要素が、既存のバージョン "1" の機能インスタンスに対して増分で準備されます。エラーが発生しない場合、データベース内で機能のバージョン番号が更新されます。バージョン "1" の機能の特定のインスタンスをアップグレードしている間にエラーが発生した場合、その機能インスタンスはスキップされ、データベース内のバージョン番号は更新されません。以降のファーム アップグレードで、その機能インスタンスがアップグレードされていないことが検出され、アップグレードが試みられます。