任何人都可以建议基于 VSeWSS 1.2 的开发的最佳部署方法吗?
我已经使用这个超过 6 个月了.. 有没有人尝试使用 WSPBuilder 来达到这个目的?
我个人更喜欢使用 stsdev ( http://www.codeplex.com/stsdev )。我使用过 WSPbuilder 和 STSDEV。Stsdev 提供了一些您使用 stsdev gui 创建的开发项目模板,与您使用 new > project 创建的标准项目模板不同。
stsdev 项目有一个 Rootfiles 文件夹,它对应于目标服务器上的“12 hive”。您放入 Rootfiles 文件夹和子文件夹的所有文件都会自动添加到 solutionpackage.ddf 和 manifest.xml,因此您不必担心编辑这些文件并使用 makecab 编译它们。
stsdev 提供的另一个好处是构建目标,例如构建、部署、重新部署、在 GAC 中刷新程序集、收回和升级。因此 stsdev 项目会自动编译二进制文件,构建 .wsp 包,并根据构建类型运行 stsadm 命令。如果您愿意,可以通过编辑位于项目的 DeploymentFiles 文件夹中的 Microsoft.SharePoint.targets 来自定义构建目标的行为。只要你只是在处理代码,GAC 中的 Refresh Assembly 是一种非常快速的构建方法,之后你可以立即看到 sharepoint 中的变化。
stsdev 的一个缺点是,如果您使用源代码控制,则 manifest.xml 和 SolutionPackage.ddf 如果未检出,则为只读,并会导致编译错误(我通常在处理时检出 DeploymentFiles 文件夹中的所有文件)项目)。因此,您必须在构建之前检查这些文件。另一件事是它会获取Rootfiles 下的所有文件,包括隐藏的 vssver2.scc 文件(如果您使用源代码管理)。该项目仍然可以毫无问题地构建和部署,但文件位于 wsp 包中,并复制到目标服务器上的“12 hive”。
我认为与 WSPbuilder 相比,stsdev 可以让您自定义开发项目的任何内容,这是我在 WSPbuilder 中无法做到的。
您应该帮自己一个忙,看看 VSeWSS 1.3。请参阅 Kirk Evans 的博客以获得良好的视频概述:http: //blogs.msdn.com/kaevans/archive/2009/03/13/sharepoint-developer-series-part-1-introducing-vsewss-1-3.aspx .
主要缺点可能是它需要 Visual Studio 2008。
我一直是 STSDEV 的倡导者,但现在我倾向于 VSeWSS 1.3。我怀疑其他 WSPBuilder 和 STSDEV 用户随着时间的推移也会有同样的感觉,但我还没有完成对它的评估。
我们一直使用 WSPBuilder。如果您正在寻找创建 wsp's,这是最好的。
它还提供了一个 VS 插件。您可以直接从 VS 构建、部署、升级等。提供 VS 模板,如空白功能、Web 部件功能、带有接收器的功能、工作流功能、事件处理程序、项目模板等...
我们使用 WSPBuilder 管理 20 多个项目
正如 Kirk Liemohn 指出的那样,您确实应该升级到 VSeWSS 1.3。我们收集了大量客户反馈,并且在此版本中为开发人员提供了许多新功能。
它包括用于仅将新二进制文件或文件部署到 SharePoint 12 文件夹结构中的快速部署命令。它还可以在带有 Visual Studio 2008 的 x64 操作系统上运行。它具有命令行支持。
在这里可用
我也更喜欢 WSPBuilder。我无法按照我想要的方式配置 WSPBuilder 没有任何问题。在最新版本中,您可以根据需要单独覆盖每个项目或开发人员的设置。
WSPBuilder 还有一个很棒的附加组件,称为 SPVisualDev (codeplex.com/spvisualdev)。除了其他功能之外,它还提供了用于添加 ASCX 文件的模板,它会自动将您放在项目 12-hive 文件夹中的文件从 VS 下推到真正的 12-hive 文件夹中。对我来说节省了大量时间。
VSeWSS 1.2 的一个缺点是缺乏部署到 bin 的支持。1.3 增加了这一点,但我还没有让它与引用的程序集一起工作。我已经切换到STSDev 2008,这是原始 STSDev 的衍生产品,并修复了错误。我一直在与主要贡献者合作,为 CodePlex 上的项目添加文档,但在一年多一点的时间里下载了 1900 次。
我使用过 VSeWSS 1.2 和 1.3,它确实使部署非常容易。我的问题是,如果您想将 Web 部件分发到客户管理的 SharePoint 服务器,你们通常会做什么。您是否只是获取 Release 文件夹并告诉他们运行 setup.bat 脚本?你有不同的包装吗?您是否创建自定义安装程序?
VSeWSS 1.3 CTP 现已推出,并且确实具有命令行支持。话虽这么说,恕我直言,这些扩展是基于目前将它们用于一个非常大、非常复杂的项目 - 直肠疼痛,原因如下:
每次打开启用了扩展的项目的解决方案时,您都必须坐下来等待 VSeWSS 对每个项目进行仔细检查,检查结构并尝试重新打包每个解决方案。随着您添加到解决方案中的每个启用扩展的项目,等待似乎呈指数增长。鉴于在 VM 中进行 SharePoint 开发已经包含所有等待,等待可能会非常痛苦。
虽然 VSeWSS 正在通过这些项目,但没有任何迹象表明正在进行任何工作;VS 只是变得毫无反应。
每次您使用启用扩展的项目关闭VS 解决方案时,VSeWSS 都会重新执行整个操作。鉴于这一点,在我目前的项目中,我通常在座位上坐了 10 个小时左右,而我最不想做的就是等待更长的时间回家,这个过程比痛苦更糟糕(如果这甚至可能的话。)我们团队中的大多数开发人员只是去任务管理器并杀死devenv.exe。过程而不是等待。
尝试使用当前 (CTP) 版本的扩展来进行集成构建时,我们遇到了非常糟糕的情况。从命令行使用 VSeWSS 来构建和打包我们所有的项目时,我们遇到了很多问题。
In brief, use STSDEV. Setting up the folders is kind of a pain, but once you have everything scripted out, you're pretty much set.