2009-02-20 45 views
3

我正在開發一個SharePoint功能,其中包括幾個列表定義,2個Web部件,一個功能接收組件和一個InfoPath表單。將多個功能打包到單個WSP解決方案文件中

我必須使用WSPBuilder來打包這些文件,並且要求將所有這些功能打包到一個WSP解決方案文件中。

現在,WSP構建器需要特定文件夾結構中的部署文件,與共享點的12 Hive相同。

我的問題是,我的所有功能分別開發,幷包括多個項目文件,而這些不一定是相同的文件夾結構..

我用WSP Builder來打包多個功能集成到一個怎麼辦單一的WSP解決方案?

回答

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文件中追加相應的節點。對於「TEMPLATE」文件夾內的任何其他可能的子文件夾也是如此,包括IMAGES,LAYOUTS等:在部署時,它們將全部複製到真正12 hive中的正確文件夾中,因爲解決方案中的12文件夾旨在成爲原來的複製品。

爲了更好地理解,請在Visual Studio解決方案的12文件夾中創建一些文件夾和文件,編譯您的項目並查看生成的manifest.xml文件。

+0

我覺得你很迷惑Visual Studio解決方案和Visual Studio項目。 WSPBuilder沒有內置的方法來創建多個Visual Studio項目中的一個WSP解決方案。 – vitule 2010-06-29 15:25:11

0

簡單的答案是,您將不得不將所有文件從單個項目複製到您的解決方案的一個主項目中。只要你的個人功能文件都放在你的'12'文件夾中的正確位置,那麼你將會很好。

注:你需要檢查的任何程序集所有的參照,因爲這個解決方案將滿足您所有的自定義邏輯創建1個集。

0

我通常在指定爲「主」一個解決一個項目。我設置了依賴關係,以便這個「主」項目最後生成。然後,對於我希望包含在wsp包中的其他項目,我編輯「Post Build Events」以將12文件夾的內容以及由項目構建的dll複製到主項目的相應文件夾中。然後,在我構建完整的解決方案後,我可以爲主項目構建wsp包,並知道它包含了所有內容。

相關問題