サンドボックス解決策からリスト定義(ファームソリューション)へのコンテンツタイプの追加

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/52239

質問

いくつかのサイト列とサイトコンテンツタイプを含むサンドボックスソリューションを使用しています。
このコンテンツタイプをCAMLのマイドキュメントライブラリ定義に追加します。
しかし、このコンテンツタイプに参照を追加すると、このようなmy schema.xml の場合:

<List ... EnableContentTypes="TRUE">
 <MetaData>
  <ContentTypes>
   <ContentTypeRef ID="0x0101002EFF4F6709F446E5AD064DC20BBE6855" />
   <!--contenttypeid of content type from sandboxed solution-->
   <ContentTypeRef ID="0x0101" />
   <!--contenttypeid of Document-->
   ...
  </ContentTypes>
  ...
 </MetaData>
</List>
.

インスタンスを作成すると、コンテンツの種類がマイライブラリに追加されません。 (サンドボックス解決策がもちろん活動化された後にこのドキュメントライブラリを作成しました)
実際には、次のエラーメッセージが表示されます。

重複コンテンツタイプ名「文書」が見つかりました。

これがSPはどういうわけかspがサンドボックス化されたコンテンツタイプを見つけられず、それがドキュメントの子コンテンツタイプだと考えるという事実によると思います。その結果、このエラーメッセージでドキュメントコンテンツタイプをこのエラーメッセージに2回追加します。

サンドボックス解決策からコンテンツタイプを追加していない理由はわかりませんか?
結局のところ、このコンテンツタイプをサイト(Collection)コンテンツタイプのギャラリーに表示でき、この「サンドボックス」コンテンツタイプを参照せずにUIを介してUIを介してコンテンツタイプを追加できます。

アップデート:私は、ドキュメントライブラリ定義にサードパーティのベンダのコンテンツタイプのみを追加しようとしました、そして今1 "文書"コンテンツタイプが追加されました。
実際には、サードパーティのベンダーのサイトコンテンツタイプから継承する「ドキュメント」というリストコンテンツタイプが作成されます。
そのため、次の一覧コンテンツタイプ情報が表示されます。

  • 名前:文書
  • 説明:新しい文書を作成する
  • 親:{3rd Partyベンダーのサイトコンテンツタイプ}

    とサイトコンテンツタイプのサイト列をコピーしました。
    残念ながら、リストの内容の種類の名前を更新しません。

    あなたが持っているかもしれない手がかりを共有してください...

役に立ちましたか?

解決

It seems that list has its own internal content type or at the very least, its own set of fields, which is creating the problem. Try investigating the list with the SharePoint Manager 2007/2010.

The alternative approach could be to use ContentTypeBinding element to bind multiple ContentTypes.

<ContentTypeBinding 
      ContentTypeId="0x010100AA8705BBBC554342BC1396AB7FB723B401" 
      ListUrl="MyDocLibrary"  
/> 
<ContentTypeBinding 
      ContentTypeId="0x010100AA8705BBBC554342BC1396AB7FB723B402" 
      ListUrl="MyDocLibrary" 
/> 
<ContentTypeBinding 
      ContentTypeId="0x010100AA8705BBBC554342BC1396AB7FB723B403" 
      ListUrl="MyDocLibrary" 
 /> 

ContentTypeBinding elements that are responsible for linking the multiple content types share a common parent i.e. 0x0101, which means ancestor of this type is the base Document content type.

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top