如何为Sharepoint创建一个良好的.NET开发环境?

7
我的公司一直使用外部公司进行所有软件开发和基础设施工作,但现在我们希望将其搬回内部。公司使用微软产品来标准化环境。Sharepoint将被用作管理、销售人员等所需工具的门户网站。Sharepoint运行在一个服务器上,我们的数据库运行在另一个服务器上,它们都位于国外。现在问题来了:
如何为我们的软件开发和测试设置良好的环境,例如定制的Web Part,外部Web服务的集成等?
一个良好的开发/测试服务器应该配备什么样的硬件和软件?
购买一台强大的服务器还是配备虚拟副本的更好?
你的公司是如何解决这个问题的,你会在设置中做出哪些改变?
谢谢, Marcus
4个回答

11

我个人使用并推荐一个虚拟机,其中包括SQL Server、MOSS 2007和Visual Studio。开发团队中的每个开发人员都应该有自己的副本。一台内存足够的好笔记本电脑确实可以托管这样的虚拟机 - 但我更喜欢在服务器机房里拥有一台高端服务器来托管它,因为这样非常好用。对于开发,你只需远程桌面连接到虚拟服务器。

Eli Robillard有一篇很好的博客文章介绍如何配置一个开发服务器。


1
这个链接非常有用。谢谢。 - Marcus Lindholm
我读到了很多关于远程开发时出现延迟的负面评论。你有类似的经历吗? - Marcus Lindholm
我的托管提供商与我的办公室位于同一建筑物,并且在丹麦我家乡的同一个城市。无论是在办公室还是家里,我都没有感受到任何明显的延迟-开发就像本地一样。但是,如果服务器远在其他国家,当然会有一些延迟。另外一件事:共同托管服务器当然也会增加每月的成本。我的1U机架服务器的专业托管费用大约为每月125美元。 - Lars Fastrup

5
除了Lars提到的内容外,我还建议您设置以下环境:
  1. 构建 - 使用持续集成在一定时间内编译应用程序。我还建议您在构建过程中运行单元测试和冒烟测试,以保持构建处于已知状态。
  2. 集成测试 - 将其用作开发团队的沙盒,以确保所有组件都表现正确。将其视为迷你生产环境。我建议每天至少将构建推送到此环境,或者如果您真的能做到的话,每次从Build环境获得好的构建时都要推送。
  3. QA - 这是专门为您的QA人员设计的沙盒。在这里,应该只在功能准备好进行QA时才推送构建。
  4. 预生产/用户验收测试(UAT)- 这是专门为SharePoint管理员和客户设计的沙盒。在这里,SharePoint管理员测试部署,客户测试新功能,并在生产之前提供最终接受。此环境应虚拟化,以完全像生产环境。

4

我目前从事MOSS开发工作,我的环境包括一个单一的Windows Server 2008标准系统(曾经是虚拟机,现在是物理机但我没有个人偏好),其中包括:

  • Visual Studio 2008标准版
  • WSS 3 Visual Studio Extensions for 2008 (链接)
  • SmartPart模板 (链接)
  • 已配置并设置有自己域名的Active Directory
  • 已配置和设置Exchange(非常适用于访问AD配置文件中的customAttributes,可以用于管理用户数据并导入到SharePoint)
  • WSPBuilder (链接)
  • SQL Server 2005标准版

硬件方面,我可以在双核2.5GHz的系统上运行上述所有软件,配备4GB内存 - 但最重要的是必须是32位的系统,这点必须强调。您的开发环境必须是32位的,尽管在64位系统下使用SharePoint不会有问题,但无法在64位环境下开发。

我再次强调 - 开发必须使用32位环境。

最后,在代码中永远不要假定某个文档库、列表或其他SharePoint功能的设置GUID-如果您需要以特定方式设置内容,请将其作为部署脚本的一部分。这样,您维护开发、UAT和生产环境的管理工作量将大大减少。

我唯一想改变的是将SQL Server移到自己的硬件上,因为这可以减少开销并允许您对关于单独服务(如SQL Server Reporting Services和Business Data Catalog)的NTLM / Kerberos双跳问题进行研究。


你有关于为什么需要32位的参考/细节吗?我知道一些工具存在问题,但是我认为这些问题已经解决了? - Alex Angas
1
Web部件开发似乎很好,但是许多Microsoft提供的Visual Studio插件在64位环境下无法安装,如果您在ASP.Net项目中引用SharePoint dlls(例如为向SharePoint添加自己的完整网页),则无论您告诉VS以何种架构为目标,都会出现编译时架构不匹配错误。这是可以解决的,但是需要费力的解决方法。在32位机器上进行开发并不会有任何损失,只是使用SharePoint更容易些。 - user32826
你使用什么样的源代码控制呢? - Marcus Lindholm
最近我们参与了一个项目,我们的个人开发环境是Windows Server 2008 x64和MOSS x64。我们没有使用任何Visual Studio插件,但是我们没有遇到Moo提到的任何问题,例如引用SharePoint dlls的问题。 - George Durzi
@George我遇到的问题涉及向SharePoint系统添加额外的asp.net页面,以便我可以将应用程序添加为Web部件(以及Web部件带来的限制)。当添加对Microsoft.SharePoint.dll的引用并构建网站部署项目时,您会收到以下错误:“无法加载文件或程序集'Microsoft.SharePoint.Search,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c'或其一个依赖项。尝试加载格式不正确的程序。”有个解决方法... - user32826
显示剩余2条评论

2

你应该查看 SharePointDevWiki.com 页面上的“构建SharePoint开发环境”。 由于我是“新用户”,无法放置链接。


我查看了该网站,但是没有找到与我的问题相关的任何信息。不过还是谢谢你的提示。 - Marcus Lindholm
尝试访问http://www.sharepointdevwiki.com/display/public/Building+a+SharePoint+Development+Environment - Leah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接