SharePointに依存関係を持つ複数のコンテンツタイプをデプロイするためのベストプラクティス
-
13-12-2019 - |
質問
私は約1である解決策を開発しています。 15カスタムコンテンツタイプ。そのため、Visual StudioでSharePointプロジェクトとXMLマークアップで定義されているコンテンツタイプを追加しました。 これらのコンテンツタイプのいくつかは、互いの間の参照を使用しています(lookup-列)、リスト定義とリストインスタンスも追加されました。検索はSharePoint 2010以降のXMLで宣言することができます。
今すぐこれで、すべてのコンテンツタイプ、リスト定義、リストインスタンスが含まれています。
しかし問題は次のとおりです。展開が成功することがあり、時には失敗することがあります。これが機能内の要素にアクティベーション注文がないため、これが発生する可能性があります。これで、プロジェクトを変更して、コンテンツタイプごとに機能を作成し、アクティビレーション依存関係を定義してアクティベーション順序を定義できます。しかし、これは少なくとも20の特徴と私の意見ではこれがこれを正しく処理するための解決策になることはできません。
同じ解ソリューション内の他のコンテンツタイプにルックアップを使用してコンテンツタイプを展開する正しい方法は何ですか?
SharePoint Onlineで展開したいので、すべての制限があります。
解決
私はあなたと同じ問題を抱えていた - 私は2つのコンテンツタイプを定義しました。 AとB、BはAに頼っていて、両方とも単一の機能にありました。ただし、展開する時が来たときにエラーが発生しました:
展開ステップのエラーが発生しました '機能を有効にする': コンテンツタイプIDで指定された親コンテンツタイプ0x010029043F0D68EC4DF1BC85141AFF45166は存在しません。
Visual Studioがwsp / cabファイル内で生成され、2つのコンテンツ型要素.xmlファイルが間違った方法で定義されていることに気づいたMANIFEST.XMLファイルを検索しました。
- b / elements.xml
- a / lements.xml
これまでの作業は、特徴内の特定の要素.xmlファイルの順序を強制的に強制することです(すなわち、 'root'コンテンツタイプファイルを最初に置く)。
機能を開くには、マニフェスト、[編集オプションを開き、Elements.xmlファイルのリストに最初に指定するファイルを入力します。
<ElementManifests>
<ElementManifest Location="A\Elements.xml" />
</ElementManifests>
.
これはマニフェストファイルに次のXMLを発信します。
<ElementManifests>
<ElementManifest Location="A\Elements.xml" />
<ElementManifest Location="B\Elements.xml" />
</ElementManifests>
.