2012-03-14 6 views
0

私は、 15のカスタムコンテンツタイプ。したがって、Visual StudioでSharePoint Projectを作成し、XMLマークアップで定義されたコンテンツタイプを追加しました。 これらのコンテンツタイプの中には、参照(List-Columns)間の参照を使用するものがあるため、リスト定義とリストインスタンスも追加しました。 SharePoint 2010以降では、XMLでルックアップを宣言できるため、すべて問題ありません。SharePointに依存関係を持つ複数のコンテンツタイプを展開するためのベストプラクティス

現在、私の機能にはすべてのコンテンツタイプ、リスト定義、リストインスタンスが含まれています。

ただし、問題は次のとおりです。展開が成功し、失敗することがあります。これは、フィーチャ内の要素に起動順序がないために発生すると考えられます。今私は自分のプロジェクトを変更し、すべてのコンテンツタイプの機能を作成し、アクティベーションの依存関係を定義してアクティブ化の順序を定義することができました。しかし、これは少なくとも20の機能につながり、私の意見では、これを正しく処理するための想定される解決策ではありません。

質問:同じソリューション内の他のコンテンツタイプにルックアップ付きのコンテンツタイプを展開する正しい方法は何ですか?

制限があります.Sharepoint Onlineに展開したいので、すべてをサンドボックス化する必要があります。事前に

おかげ

マーティン

+0

説明間違いはありますか?それは単に機能しませんか? SharePoint OnlineからULSログを取得できますか? –

答えて

2

は、私はあなたと同じ問題を抱えていたと考えている - 私は2つのコンテンツタイプを定義しました。 AとB、BはA.に頼っていて、両方が単一の特徴であった。それが展開する時間が来たときしかし、私はエラーを受け取りました:

Error occurred in deployment step 'Activate Features': The parent content type specified by content type identifier 0x010029043F0D68EC4DF1BC85141AFF451661 does not exist.

私は、Visual Studioは、WSP/cabファイル内で生成し、そのファイルと2つのコンテンツタイプElements.xmlファイルに気づいたが定義されていたたManifest.xmlに見えました周りに間違った方法:

  1. B/Elements.xml
  2. A/Elements.xml

回避これには、単純に(つまり、最初の「ルート」コンテンツタイプのファイルを置く)機能では、特定のElements.xmlファイルの順序を強制することです。

フィーチャーを開き、マニフェストに移動し、[編集オプション]を開き、最初に指定する必要があるファイルをElements.xmlファイルのリストに入力します。

<ElementManifests> 
    <ElementManifest Location="A\Elements.xml" /> 
</ElementManifests> 

これは、マニフェストファイルに次のXMLを発する: "それが失敗した時に"

<ElementManifests> 
    <ElementManifest Location="A\Elements.xml" /> 
    <ElementManifest Location="B\Elements.xml" /> 
</ElementManifests> 
関連する問題