8

我已经在虚拟机的 Windows Server 2012 操作系统中安装了 sharepoint 2013 Foundation、sql server 2012。

我需要为sharepoint 2013设置开发环境。除此之外,任何人都可以帮助我解决我必须安装的内容。

我有一些问题,比如

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

请帮我解决这些问题。

干杯!

4

3 回答 3

9

这是从 Microsoft 站点设置 SharePoint 2013 开发环境的方法

关于其他问题:

  • 是的,您必须在服务器 VM 上安装 Visual Studio 2012 才能开发共享点组件并调试它们
  • 如果您想在页面和母版页面中编辑以添加 css 样式和客户端脚本代码,您可以安装共享点设计器。无需在服务器上安装 sharepoint Designer 它可以安装在任何机器上
于 2013-06-05T08:59:11.203 回答
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 年开发环境托管在一个强大的单一服务器场上,即应用程序、Web 和数据库都在一个虚拟服务器上(开发人员可以接受)。我们正在通过远程桌面运行多个开发人员连接到单个 SharePoint 开发服务器。确保您在组策略中启用了多个 RDP 会话,http ://technet.microsoft.com/en-us/library/cc784146(v=ws.10).aspx 。这台服务器上安装了 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,并为每个开发人员创建一个基于团队站点模板的站点。为更多开发人员复制每一行单独的行。

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

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

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

于 2013-07-29T16:41:49.623 回答
4

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

最初,我们的笔记本电脑无法运行 SP2013 的本地 VM。如果有预算并且经历了整个开发周期,我强烈建议使用 Oracle VM Virtual Box 并在每个开发人员的笔记本电脑上创建一个单独的实例。关键是所需硬件的剪切规格。16GB 的 RAM 是最低要求,实际上还需要 512GB 的 SSD,尽管您可能会选择稍微小一点的 SSD。我们升级了笔记本电脑以满足这个最低要求,目前没有多少笔记本电脑机箱能够提供更多功能。

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

在此处输入图像描述

为 VM 设置网络设置具有挑战性,并且可能在您的环境中有所不同,但我从笔记本电脑上的有线网络端口通过其扩展坞选择了桥接适配器。这意味着当您将笔记本电脑从底座上取下时,VM 将无法访问互联网。您可以更改为 Wi-Fi 端口,但您的所有主机文件设置都是错误的。因此,如果您将笔记本电脑带到一个期待它工作的地方,请小心。

在此处输入图像描述

根据您的企业管理员如何响应公司域上的随机虚拟机,您可能需要(就像我一样)创建自己的域。我必须使用 SP 服务器来执行此操作,Microsoft 不建议这样做,但它并没有阻止我。所以我把 SharePoint 服务器也变成了域控制器和 DNS 服务器。如果要开发 SharePoint 应用程序,您将需要 DNS 服务器。这给了我充分的灵活性和对环境的控制权,而不会干扰或等待其他人为我工作。唯一的缺点是跨域身份验证,因此您只需习惯于输入完全合格的域用户名并拥有两个密码,并且单点登录不适用于本地笔记本电脑的测试。鉴于它为您提供的灵活性作为交换,没有专业。因此,现在您有一个域控制器以及为 SharePoint 创建服务帐户以及为开发人员创建一个帐户。现在,您将能够从可能再次通过 MSDN 订阅下载的已安装 ISO 运行 SharePoint 2013 的安装。安装 Visual Studio 2012 和 SharePoint Designer 以及您希望使用的任何源代码控制工具。

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

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

我们发现,对于单用户开发设置,笔记本电脑的性能明显优于我们在部门服务器硬件上创建的开发服务器。这完全取决于 SSD 甚至超过企业级 SAN 的性能。将实时环境扩展到多个用户可能会适得其反,但采用这种方法肯定会显着提高生产力,将代码迭代时间缩短到原始部署时间的一半。您甚至可以通过复制 VM 文件来跨多个开发人员的笔记本电脑克隆环境。

于 2014-04-25T11:42:36.630 回答