【问题标题】:SharePoint Web Parts Development EnvironmentSharePoint Web 部件开发环境
【发布时间】:2011-06-25 08:01:26
【问题描述】:

我知道有很多关于这个主题的问题和文章,到目前为止我已经在互联网上搜索了几个小时,但我仍然找不到我的问题的正确答案。我的公司分配给我的任务是调查 SharePoint Web 部件的开发环境。钱不是问题,但它必须是正确的方法。

这是我的理想计划:在开发人员桌面上,安装 VS2005/2008(已安装)、VS2005/2008 Extension for SharePoint 和 WSPBuilder。它还安装了一个虚拟机,VM 运行 windows server 2003/2008。 WSS3.0 和 SQL Express 2005/2008 也将安装在 VM 上。

Developer 的桌面是一个 Web 部件开发环境。开发人员使用 VS 开发 SharePoint Web 部件,然后运行 ​​WSPBuilder,它将 Web 部件部署到 VM 上的 SharePoint 测试环境中。因此,VM 只是一个 SharePoint 测试环境。 这看起来是个好主意,但是,它不起作用。为什么?因为没有安装WSS3.0,开发者的桌面无法安装VS扩展!

我绝对不想在 VM 上安装 VS,因为我们的开发人员桌面已经安装了 VS,我们不需要为 1 个开发人员提供 2 个 VS 许可证。 知道为 SharePoint Web 部件设置开发环境的最佳方法是什么吗?

提前谢谢你。

【问题讨论】:

    标签: sharepoint development-environment web-parts wss-3.0 wspbuilder


    【解决方案1】:

    除非您的开发环境至少包含 WSS 的安装,否则您将无法为 SharePoint (WSS 3.0) 进行开发。通常,开发是在 Windows Server 2003 虚拟机上完成的(Visual Studio 直接安装在这台机器上)。但是,SharePoint 可以安装在 Windows Vista 和 Windows 7 计算机上,因此您的开发计算机可能能够托管 SharePoint 本身,但在 VM 上执行此操作要容易得多。

    我的 SharePoint 开发 VM 安装了以下内容:

    • Windows Server 2003 R2
    • SharePoint 2007(包括 SQL 2005)
    • Visual Studio 2008
    • Office 的 Visual Studio 工具
    • Office 服务器 SDK
    • 适用于 WSS 1.3 的 Visual Studio 扩展

    显然您可以改用 WSPBuilder,但我更喜欢 VSSWSS 1.3,但这是开发人员的偏好。

    我相信(应与 Microsoft 核实)Visual Studio 的许可在由同一开发人员使用时可以扩展到虚拟机(取决于您的协议)。

    【讨论】:

    • 非常感谢您的回答。我可以问一个更远的问题吗?将 Web 部件部署到生产环境的最佳方式是什么?在我的公司中,除了开发人员的桌面之外,我们还有开发、测试和生产环境。谢谢!
    • @dave VSSWSS 1.3 创建部署包 (wsp) 和 setup.bat。您可以在应用服务器上运行“setup.bat /install /weburl ”,它将部署到您的场并激活必要的功能。
    • 我将投票支持 WSPBuilder 而不是 VSSWSS 1.3。 VSSWSS 的最大优势是升级到 VS 2010 SharePoint 解决方案的路径。除此之外,我认为 WSPBuilder 是要走的路。
    【解决方案2】:

    根据您的优先事项可能会或可能不会有效的替代方案。

    安装 Visual Studio 2010 和 SharePoint 2010 Foundation to your development server

    从 SharePoint 2007 服务器获取 Microsoft.SharePoint.dll 的副本。

    使用 VS2010 的工具开发 Web 部件,但手动更改对 2007 dll 的引用(+ 另请参阅“Build a SharePoint 2007 Web Part with a Visual Studio 2010 Visual Web Part Project”),以便输出与 2007 兼容的 Web 部件。

    当您将 2007 Web 部件部署到本地 2010 服务器时,它将正常工作(as its backwardly compatible)

    当您将 2007 Web 部件部署到您的测试/qa/生产服务器时,它也可以工作。

    优势

    • 您正在使用最新最伟大的 VS 版本和共享点 工具,因此您可以一键部署, 自动创建 WSP 包 等等。没有反对 WSP Builder 等(它们很棒),但我的钱用于未来的 vs2010 共享点扩展。
    • 如果/当您的 公司搬到 2010 年。
    • 您正在 Windows 7 机器上开发,而不是 2003/2008 服务器和/或 VM,因此这在许可、速度和易用性方面具有优势(在 VM 上运行的 VS 支持双显示器?)

    编辑 - 将 Web 部件部署到您创建 .wsp 包的其他服务器,然后通过 STSSADM 或其他工具(SharePoint 解决方案安装程序或其他管理工具)进行部署。

    【讨论】:

    • +1 一个好主意,我不允许在我们的环境中这样做,但如果你有工具和管理层的批准,这听起来是个不错的方法。 @Ryan 在使用 VS2010 时是否仍需要手动添加用户控件才能在面向 2007 的 Web 部件上进行视觉设计?
    • 很遗憾,我的公司正在使用 SharePoint 2007,我不知道它何时会升级到 SharePoint 2010。非常感谢您提供这个出色的解决方案。
    【解决方案3】:

    我没有使用过 VSSWSS 或 WSPBuilder。对于 SharePoint 2007,我一直使用 STSDEV。而且我一直使用 Windows XP 来执行此操作。我不知道 VSSWSS 和 WSPBuilder 的行为是否相同,但正如 Ryan 所说,我将我需要的任何 SharePoint DLL 从 SharePoint 2007 服务器复制到我的 Visual Studio 解决方案中的解决方案文件夹中。然后我在我的项目中选择添加引用并浏览到 DLL。

    四年来,我从来没有遇到过这种方法的任何问题。解决方案包构建得很好,可以在任何 SharePoint 服务器上运行。我失去了调试选项,但我宁愿留在我的机器上也不愿进入虚拟机或远程桌面。

    【讨论】:

    • 非常感谢Rich,这个环境是最接近我的环境的。我们的开发人员使用 Windows XP 和 VS2005(可能后期升级到 VS2008),我们的 SharePoint 环境是 SP 2007。我只是想知道您的情况,您是在开发人员的 PC 上创建 Web 部件吗?我的意思是你不需要在MV中安装所有东西?您还需要 MV for SharePoint 测试环境吗?如果是这样,如何将 Web 部件从开发人员的 PC 部署到 VM?很抱歉一次有太多问题。
    • 是的,我们做了 Web 部件、Web 控件、页面类、功能接收器、事件接收器、计时器作业等。任何需要代码的东西都可以在 Windows XP 中编译,只要你有相应的 DLL。我在 Windows XP 上的 Visual Studio 中唯一不能做的是工作流。但是,是的,您将需要一个 SharePoint 服务器进行测试。那可以是虚拟机或实际的服务器。若要部署 Web 部件,请将其构建到解决方案包中的功能中(确保在清单中设置了 SafeControls)。将 wsp 复制到服务器并使用 STSADM 进行部署。
    猜你喜欢
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多