我正在开发一个sharepoint功能,其中包括两个列表定义,2个webpart,一个功能接收器程序集和一个InfoPath表单。
我必须使用WSPBuilder打包这些,并且要求将所有这些功能打包到一个WSP解决方案文件中。
现在,WSP构建器需要特定文件夹结构中的部署文件,与12个共享点Hive相同。
我的问题是我的所有功能都是单独开发的,由多个项目文件组成,这些文件不一定在同一个文件夹结构中。
如何使用WSP Builder将多个功能打包到单个WSP解决方案中?
答案 0 :(得分:6)
也许这会有所帮助:http://www.codeplex.com/wspbuilder/Thread/View.aspx?ThreadId=43125
最终,我认为通过使用像NANT这样的工具构建自己的wsp文件可以获得很大的灵活性。
答案 1 :(得分: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文件。
答案 2 :(得分:0)
简单的答案是,您必须将各个项目的所有文件复制到一个主项目中,以便您的解决方案。只要您的所有个人功能文件都位于“12”文件夹中的正确位置,您就可以继续使用。
注意: 您需要检查所有对任何程序集的引用,因为此解决方案将为您的所有自定义逻辑创建1个程序集。
答案 3 :(得分:0)
我在向wsp添加dll时遇到了麻烦,所以我写了一篇关于它的简短文章:How to Add DLLs to a WSP Solution
答案 4 :(得分:0)
我通常在解决方案中有一个项目被指定为“主要”项目。我设置了依赖项,以便最后构建这个“主”项目。然后对于我想要包含在wsp包中的其他项目,我编辑“Post Build Events”以将12个文件夹的内容和项目构建的dll的内容编辑到主项目的相应文件夹中。然后在构建整个解决方案之后,我可以为主项目构建wsp包,并知道它包含所有内容。