3

我正在研究一个共享点功能,其中包括几个列表定义、2 个 web 部件、一个功能接收器程序集和一个 InfoPath 表单。

我必须使用 WSPBuilder 来打包这些,并且要求将所有这些功能打包到一个 WSP 解决方案文件中。

现在,WSP builder 需要特定文件夹结构中的部署文件,与 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 文件中。“TEMPLATE”文件夹中的任何其他可能的子文件夹也是如此,包括 IMAGES、LAYOUTS 等:在部署时,它们都将被复制到真正的 12 个配置单元内的正确文件夹中,因为解决方案中的 12 个文件夹旨在成为原版的复制品。

为了更好地理解,请在 Visual Studio 解决方案的 12 文件夹中创建一些文件夹和文件,编译您的项目并查看生成的 manifest.xml 文件。

于 2009-02-20T08:31:43.897 回答
0

简单的答案是,您必须将所有文件从单个项目复制到一个主项目中以用于您的解决方案。只要您所有的个人功能文件都位于“12”文件夹中的正确位置,那么您就可以开始使用了。

注意:您需要检查对任何程序集的所有引用,因为此解决方案将为您的所有自定义逻辑创建 1 个程序集。

于 2009-02-20T10:21:59.173 回答
0

我在向 wsp 添加 dll 时遇到了麻烦,所以我写了一篇关于它的简短文章:如何将 DLL 添加到 WSP 解决方案

于 2009-09-04T20:38:13.783 回答
0

我通常在解决方案中有一个项目被指定为“主要”项目。我设置了依赖关系,以便最后构建这个“主”项目。然后对于我想包含在 wsp 包中的其他项目,我编辑“构建后事件”以将 12 文件夹的内容和项目构建的 dll 复制到主项目的相应文件夹中。然后在我构建了整个解决方案之后,我可以为主项目构建 wsp 包,并且知道它包含了所有内容。

于 2010-06-29T17:54:28.560 回答