如何为sharepoint 2013设置开发环境

时间:2013-06-05 06:46:55

标签: sharepoint sharepoint-2010 sharepoint-designer sharepoint-2013

我在虚拟机中的Windows Server 2012操作系统中安装了sharepoint 2013 foundation,sql server 2012。

我需要为sharepoint 2013设置开发环境。任何人都可以帮助我完成我必须安装的内容。

我有一些问题,比如

必须在哪里安装Visual Studio 2012(在客户端或服务器VM中)? 我必须安装哪些组件? 我是否需要安装Sharepoint Designer?

请帮助我解决这些问题。

干杯!

3 个答案:

答案 0 :(得分:9)

以下是如何从Microsoft网站<{3}}

关于其他问题:

  • 是的,您必须在服务器VM上安装visual studio 2012才能开发sharepoint组件并对其进行调试
  • 如果要在页面和母版页中编辑以添加css样式和客户端脚本代码,则可以安装sharepoint designer。 无需在服务器上安装sharepoint designer,它可以安装在任何计算机上

答案 1 :(得分:7)

Mahmoud Farahat是正确的,您必须在安装了SharePoint的同一台计算机上安装Visual Studio,以确保所有SharePoint特定的dll都在GAC中注册。

从SP2013开始,Microsoft不再允许在Windows 2012和2008R2以外的任何设备上安装SP。 2010年确实允许你在Windows 7上安装它,我认为这是你的开发本地人正在运行的,或者至少是某些版本的Windows桌面操作系统。您必须更改配置设置才能执行此操作,您可以查看它,但不再相关,因为无法完成。我已经在我的本地笔记本电脑上安装了SP2010,它需要一台功能强大的机器,让它运行得非常糟糕。在我看来,使用本地机器进行开发是不切实际的,因为SharePoint非常耗电。我已经将2010年作为Virtual Box上的本地托管虚拟机运行,这项工作相当不错,因此每个开发人员都可以在本地拥有虚拟机。我们的IT不喜欢在公司域名以外的任何地方托管服务器的想法,所以不是我们的选择,但如果你的政策允许,那么就可以正常工作。

因此,我设置的2013开发环境托管在功能强大的单一服务器场上,即App,Web&amp;数据库全部在一个虚拟服务器上(开发人员可接受)。我们通过远程桌面运行多个开发人员连接到单个SharePoint开发服务器。确保在组策略http://technet.microsoft.com/en-us/library/cc784146(v=ws.10).aspx中启用了多个RDP会话。这台服务器安装了SP2013,VS2012和SPD哦和IIS8(Windows 2012)。

可以在同一个Web应用程序(SharePoint代表ISS应用程序池)上进行开发,但是您一次只能调试一个会话,因为devenv.exe(Visual Studio)附加到w3ps.exe(IIS应用程序池)能够部署,安装和激活您开发的每个功能(更多SP谈话)。因此,一旦一个开发人员连接到Web应用程序进行调试,其他任何人都会收到错误,该进程已经附加了调试器。

有两种解决方案,轮流进行调试,但这种情况很有效,但即使只有两个小团队(也不能变小),这是一个很大的障碍,特别是在启动调试器时甚至可能需要几分钟功能强大的服务器那么另一种选择是什么?那么你必须为每个开发人员创建一个单独连接的过程。这与SharePoint中的Web应用程序有关。您可以通过管理中心实现所有这些功能,但是如果您有许多开发人员在GUI中执行此操作对管理员来说可能有点无聊。因此,要通过脚本实现相同的结果,请在PowerShell中执行以下代码:

Add-PsSnapin Microsoft.SharePoint.PowerShell

New-SPWebApplication -ApplicationPool "SharePoint – DEV1" -Name "SharePoint – DEV1" -ApplicationPoolAccount (Get-SPManagedAccount "yourdomain\service.account") -Port 81 
New-SPWebApplication -ApplicationPool "SharePoint – DEV2" -Name "SharePoint – DEV2" -ApplicationPoolAccount (Get-SPManagedAccount "yourdomain\service.account") -Port 82

New-SPSite -Url http://yourspservername:81/sites/YourSiteName -Name YourProjectNameDev -Description "Developer1’s Development team site for Your Project" -OwnerAlias yourdomain\developer1.username -Template "STS#0"
New-SPSite -Url http:// yourspservername:82/sites/ YourSiteName  -Name YourProjectNameDev -Description "Developer2’s Development team site for Your Project" -OwnerAlias yourdomain\developer2.username -Template "STS#0"

Remove-PsSnapin Microsoft.SharePoint.PowerShell

这假定您使用NTLM身份验证并读取http://technet.microsoft.com/en-us/library/ff607931.aspx以确保为命令New-SPWebApplication指定了适用于您的环境的正确参数。这样的代码也会创建一个带有guid后缀的内容数据库,你可能不太清楚,所以如果你愿意,可以指定。

这将为每个开发人员创建一个SiteCollection,并为每个开发人员创建一个基于Team Site模板的站点。复制每行单独行以供更多开发人员使用。

我们在端口80上为我们部署所有功能的协作网站保留了默认创建的Web Collection,以进行最终组合测试。

每个开发人员都需要在Visual Studio中编辑他们的项目属性,以使其站点URL属性与其单独分配的端口匹配。

组合Source控件中的项目时要小心,因为此属性将在csproj文件中指定,并且每个开发人员都会将自己的端口号发布到存储库中。

答案 2 :(得分:4)

我的original answer有效且有效,似乎对某些人有用。但是,即使是最近购买的运行VMWare虚拟服务器的企业服务器,我们也很快就遇到了性能问题。我认为主要问题是磁盘IO,部署解决方案需要4分钟+。

最初我们的笔记本电脑不能运行SP2013的本地虚拟机。如果预算可用且经历了整个开发周期,我强烈建议使用Oracle VM Virtual Box并在每个开发人员的笔记本电脑上创建单独的实例。要抓住的是所需硬件的剪切规格。 16GB的RAM是最低的,实际上还需要512GB的SSD,尽管你可能会稍微减少一些。我们的笔记本电脑升级到了这个最低限度,目前还没有更多的笔记本电脑机箱能够提供更多功能。

因此,一旦拥有硬件,请下载VM Virtual Box并将其安装在主机上。您必须创建一个服务器场并为VM分配12GB内存,剩余4GB用于主机。在虚拟服务器上安装Windows Server 2012,可能是通过MSDN订阅下载的。您将ISO下载到主机笔记本电脑上,因此需要一个大驱动器;这可以在安装后删除。

enter image description here

设置VM的网络设置具有挑战性,可能在您的环境中有所不同,但我从笔记本电脑上的有线网络端口通过其底座购买了Bridged Adapter。这意味着当您将笔记本电脑从扩展坞中取出时,VM将无法访问互联网。您可以更改为Wi-Fi端口,但所有主机文件设置都将出错。因此,如果你把笔记本电脑放在一个可以工作的音调上,请小心。

enter image description here

根据企业管理员对企业域中随机虚拟机的响应方式,您可能需要 - 就像我一样 - 创建自己的域。我不得不使用SP服务器执行此操作,这不是Microsoft推荐的,但它并没有阻止我。所以我将SharePoint服务器也变成了域控制器和DNS服务器。如果要开发SharePoint应用程序,则需要DNS服务器。这给了我充分的灵活性和对环境的控制,没有干扰或等待他人为我工作。唯一的缺点是跨域身份验证,因此您只需习惯于输入完全限定的域用户名并拥有两个密码,并且该单点登录无法通过本地笔记本电脑进行测试。没有什么重要的,因为它给你的灵活性。所以现在你有了一个域控制器,也可以为SharePoint创建服务帐户,也可以为开发人员创建一个帐户。您现在可以从已安装的ISO运行SharePoint 2013的安装,可能再次通过MSDN订阅下载。安装Visual Studio 2012和SharePoint Designer以及您要使用的任何源代码控制工具。

为了能够在主机和主机文件C:\ Windows \ System32 \ drivers \ etc \ host上的主机和虚拟服务器之间进行通信,请添加服务器的记录。这将允许您通过其名称访问服务器。必须这样做是因为主机和服务器位于不同的域上,并且服务器的记录不在公司DNS中。由于虚拟框设置为桥接网络,并且由于我们的环境使用DHCP,因此重新引导虚拟机可以更改该框的IP地址。如果是这种情况,请注意在使用盒子时可能需要定期更改。

您可能需要向服务器添加一些代理设置,以便服务器通过桥接适配器通过公司网络访问互联网。这将需要开发人员的公司域帐户的身份验证凭据,而不是新创建的域中服务器上使用的身份验证凭据。例如,我需要向Tortoise HG添加代理设置,以便源控件能够将提交推送到bitbucket.org。

我们发现,对于单个用户开发设置,笔记本电脑的性能明显优于我们在部门服务器硬件上创建的开发服务器。这纯粹取决于SSD甚至企业级SAN的性能。将这种方式扩展到多个用户的实时环境可能正好相反,但采用这种方法肯定会使我们在生产力方面有显着提高,使代码迭代降低到原始部署时间的一半。您甚至可以在多个开发人员之间克隆环境。笔记本电脑只需复制虚拟机文件即可。