3

私は、いくつかのリスト定義、2 つの Web パーツ、フィーチャー レシーバー アセンブリ、および InfoPath フォームを含む sharepoint 機能に取り組んでいます。

これらをパッケージ化するには WSPBuilder を使用する必要があり、要件は、これらすべての機能を 1 つの WSP ソリューション ファイルにパッケージ化することです。

現在、WSP ビルダーは、sharepoint の 12 Hive と同じように、特定のフォルダー構造に配置ファイルを必要とします。

私の問題は、すべての機能が個別に開発され、複数のプロジェクト ファイルで構成されており、これらが必ずしも同じフォルダー構造にあるとは限らないことです..

WSP Builder を使用して複数の機能を単一の WSP ソリューションにパッケージ化するにはどうすればよいですか?

4

5 に答える 5

6

多分これが役立つでしょう: http://www.codeplex.com/wspbuilder/Thread/View.aspx?ThreadId=43125

最終的には、NANT のようなツールを使用して独自の wsp ファイルを作成することで、多くの柔軟性が得られると思います。

于 2009-02-20T07:43:02.813 に答える
5

同じソリューション パッケージに複数の機能を含めるために wspbuilder で実行する必要がある特定のアクションはありません。Visual Studio のソリューション内の 12\TEMPLATE\FEATURES フォルダーの下に各機能用の新しいフォルダーを作成し、そのフォルダーに適切な feature.xml ファイルを配置するだけです。たとえば、次のような場合があります。

12\TEMPLATE\FEATURES\FancyFeature\feature.xml 12\TEMPLATE\FEATURES\ReallyCoolFeature\feature.xml

... 等々。

ソリューションをビルドすると、wspbuilder は 12 フォルダーのツリー構造全体を読み取り、対応するノードを wsp の manifest.xml ファイルに追加します。IMAGES、LAYOUTSなどを含む、「TEMPLATE」フォルダー内の他の可能なサブフォルダーについても同じことが言えます。展開時に、ソリューション内の12フォルダーは実際の12ハイブ内の正しいフォルダーにコピーされます。オリジナルのレプリカになります。

理解を深めるために、Visual Studio ソリューションの 12 フォルダー内にいくつかのフォルダーとファイルを作成し、プロジェクトをコンパイルして、生成された manifest.xml ファイル内を調べます。

于 2009-02-20T08:31:43.897 に答える
0

wspにdllを追加するのに問題があったので、それについての短い記事を書きました:WSPソリューションにDLLを追加する方法

于 2009-09-04T20:38:13.783 に答える
0

私は通常、「メイン」プロジェクトとして指定されたソリューションに 1 つのプロジェクトを持っています。この「メイン」プロジェクトが最後にビルドされるように依存関係を設定しました。次に、wsp パッケージに含めたい他のプロジェクトについて、「Post Build Events」を編集して、12 フォルダーの内容と、プロジェクトによってビルドされた dll をメイン プロジェクトの対応するフォルダーに xcopy します。次に、ソリューション全体をビルドした後、メイン プロジェクトの wsp パッケージをビルドし、そこにすべてが含まれていることを確認できます。

于 2010-06-29T17:54:28.560 に答える
0

簡単な答えは、個々のプロジェクトのすべてのファイルをソリューションの 1 つのマスター プロジェクトにコピーする必要があるということです。個々の機能ファイルがすべて '12' フォルダー内の正しい場所にある限り、問題はありません。

注:このソリューションでは、すべてのカスタム ロジックに対して 1 つのアセンブリが作成されるため、アセンブリへのすべての参照を確認する必要があります。

于 2009-02-20T10:21:59.173 に答える