0

私は SharePoint 2010 にかなり慣れていません。2007 でいくつかの経験がありましたが、小さなバグをデバッグして修正しただけです。

VS2010 で SP 2010 用の新しいソリューションを作成し、いくつかのリスト定義とそれらのリスト定義テンプレートのいくつかのリスト インスタンスを作成する機能を追加するとします。これらはすべて Schema.xml で宣言されています =>

デプロイに成功し、いくつかの項目を新しいリストに追加しました。

リストに列 (フィールド) をいくつか追加したいのですが、どのように展開すればよいですか?

それらをコードで作成したくありません。新しい開発者ごとに簡単な展開で稼働中の開発環境を作成できる最新のソリューションが必要です。

この場合、展開を行う正しい方法は何ですか?

4

1 に答える 1

1

リストに対して schema.xml ファイルが定義されている場合は、リスト定義内のコレクションを使用して新しい列を追加する必要があります。また、再利用できるように、リストがコンテンツ タイプによって定義されていることを確認する必要もあります。したがって、schema.xml ファイル内では、次のようになります。

<List xmlns:ows="Microsoft SharePoint" Title="Test List" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/Test-List" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">
  <MetaData>
    <ContentTypes>
      <ContentType ID="0x010068a2e063a1a74913a37ecdb61ab2c721" Name="Test" Group="Custom Content Types" Description="Test Description" Inherits="TRUE" Version="0">
        <FieldRefs>
          <FieldRef ID="{c2f80e7d-666e-4273-8b58-d5c8a13a9d6a}" Name="Col1" ShowInNewForm="TRUE" Required="TRUE" ShowInEditForm="TRUE"/>
          <FieldRef ID="{a84d620a-d42d-455c-8ef8-7e9f1d443250}" Name="Col2" Required="TRUE" ShowInNewForm="TRUE" ShowInEditForm="TRUE"/>
          <!-- Your new field refs here here -->
        </FieldRefs>
      </ContentType>
    </ContentTypes>
    <Fields>
      <Field ID="{c2f80e7d-666e-4273-8b58-d5c8a13a9d6a}" Type="Text" AllowDeletion="FALSE" Description="Key" AllowDuplicateValues="FALSE" EnforceUniqueValues="TRUE" Indexed="TRUE" Name="Col1" DisplayName="Col1" Group="Custom Columns" />
      <Field ID="{a84d620a-d42d-455c-8ef8-7e9f1d443250}" Type="Text" AllowDeletion="FALSE" Name="Col2" DisplayName="Col2" Group="Custom Columns" />
      <!-- Your new fields here -->
    </Fields>
    ...
  </MetaData>
</List>

ビューも変更することを忘れないでください。

于 2012-07-11T01:27:24.293 に答える