Introduction

Microsoft Visual Studio 2012 provides a new set of tools for developing apps for Office and apps for SharePoint, as well as SharePoint farm and sandboxed solutions. By using these tools, developers can easily leverage the familiar Visual Studio environment and functionality to develop, debug, package, and deploy custom SharePoint solutions. Team development is also well-supported by these tools. You can check your SharePoint projects into Team Foundation Server (TFS) source control and build and package your projects in TFS Team Build. This article describes how to build SharePoint projects that were developed in Visual Studio 2012 by using Team Build, when neither Visual Studio 2012 nor SharePoint 2013 is installed on your build system. If Visual Studio 2012 and/or SharePoint 2013 are installed on the system, however, you can skip the steps below that outline how to patch the system with necessary dependencies.

If you're using TFS Online, you don't need to configure your own build system because the hosted build agent already has everything properly configured.

1.  Prepare the Build System
  • Install TFS Team Build
    If your build system already has TFS Team Build installed on it, you can skip this step. Otherwise, install and configure Team Build on your build system.
  • Install Windows SDK
    The Windows SDK must be installed on your build system because it includes the GACUtil tool. GACUtil is used to install the SharePoint Tool assemblies on the build system. You can download the Windows SDK from this location: http://msdn.microsoft.com/en-us/windows/bb980924.aspx. After you download the Windows SDK, install it. (Note that the PowerShell script referenced at the end of this article eliminates the need for this step.)
  • Install Build Support for Apps for Office and Apps for SharePoint
    To build apps for Office and apps for SharePoint projects, several components must be installed on your system.
  • Install SharePoint Farm and Sandboxed Solution Build Support
    Since SharePoint farm and sandboxed solution projects reference SharePoint Server assemblies, those SharePoint assemblies must be present on the build system.
    One way to do this is to install the full version of SharePoint Server 2013 on your build system. An advantage of having SharePoint installed is that you can use it to deploy and test your SharePoint application immediately after generating the WSP file. Note, however, that SharePoint Server 2013 can degrade your system performance, and it has increased system requirements (such as requiring a 64-bit CPU).
    As an alternative, you can download the required SharePoint assemblies onto your build system. For either method, you will need the proper license of SharePoint on the build system. Copy the following assemblies from the development system to the build system and put them in a Reference Assembly folder:
  • Microsoft.SharePoint.dll
  • Microsoft.SharePoint.Security.dll
  • Microsoft.SharePoint.WorkflowActions.dll
  • Microsoft.Office.Server.dll
  • Microsoft.Office.Server.UserProfiles.dll
  • Microsoft.SharePoint.Client.dll
  • Microsoft.SharePoint.Client.Runtime.dll
  • Microsoft.SharePoint.Client.ServerRuntime.dll
  • Microsoft.SharePoint.Linq.dll
  • Microsoft.SharePoint.Portal.dll
  • Microsoft.SharePoint.Publishing.dll
  • Microsoft.SharePoint.Taxonomy.dll
  • Microsoft.Office.SharePoint.Tools.dll
  • Microsoft.SharePoint.WorkflowActions.dll
  • Microsoft.Web.CommandUI.dll

        These files are located in the following folder on the development system:
       C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI
        It is recommended that you copy the SharePoint Server assemblies to the folder:
                .. \Program Files\Reference Assemblies\SharePoint\
        And then add one of the following registry entries:

  • For 64-bit systems:
    HKEY_LOCAL_SYSTEM\SOFTWARE\Microsoft\Wow6432Node\.NETFramework\v4.0.30319\AssemblyFoldersEx\SharePoint15]@="<AssemblyFolderLocation>"
  • For 32-bit systems:
    HKEY_LOCAL_SYSTEM\SOFTWARE\Microsoft\.NETFramework\ v4.0.30319\AssemblyFoldersEx\SharePoint15]@="<AssemblyFolderLocation>"

        If your SharePoint Projects refer to other SharePoint Server assemblies, copy them to the build system as well.

  • Install Office Developer Tools Assemblies to the GAC
    The following assemblies must be copied to the GAC of the build system:
  • Microsoft.VisualStudio.SharePoint.Designers.Models.dll
  • Microsoft.VisualStudio.SharePoint.Designers.Models.Features.dll
  • Microsoft.VisualStudio.SharePoint.Designers.Models.Packages.dll
  • Microsoft.VisualStudio.SharePoint.dll

These files are located in the following folder on the development system:
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\
If you also need localized versions of the files, you should also copy and install the corresponding resource DLLs to the GAC of the build system:

  • Microsoft.VisualStudio.SharePoint.Designers.Models.Features.resources.dll
  • Microsoft.VisualStudio.SharePoint.Designers.Models.Packages.resources.dll
  • Microsoft.VisualStudio.SharePoint.Designers.Models.resources.dll
  • Microsoft.VisualStudio.SharePoint.resources.dll
  • Install Required MSBuild Dependencies
    Copy and install the following custom targets and tasks folders to the corresponding folders on the build machine:
    • .. \Program Files\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools
    • .. \Program Files\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications
    • .. \Program Files\MSBuild\Microsoft\VisualStudio\v11.0\Web
    • .. \Program Files\MSBuild\Microsoft\Workflow Manager\1.0

    (For 64-bit systems, use "\Program Files (x86)" in the path above.)

  • Install Workflow Dependencies to the GAC
  • Microsoft.Activities.Design.dll

The file is located in the following folder on the development system:
C:\Windows\Microsoft.NET\assembly\GAC_MSIL\

2. Build an App for Office or App for SharePoint Project, or a SharePoint Farm or Sandboxed Project

For information about how to build a SharePoint project, see the Team Build documentation
about setting up a build definition at Create a Build Definition and queue in the build.

3. Create a package for the Office Developer Tools Project

By default, building an app for Office or app for SharePoint app, or a SharePoint farm or sandboxed solution project in Visual Studio 2012 doesn't generate a package for the project. To generate a package for the project as part of the team build, you must include the correct parameters.

For app for Office and app for SharePoint projects, you must set the following parameters:

  1. To create package in build:
    /p:IsPackaging=true
  2. To set the publish directory in the same drop output location:
    /p:PublishDir=<droplocation>
  3. When your solution contains multiple app projects, set the following parameter to produce app specific publish directories:
    /p:AppSpecificPublishOutputs=true

For SharePoint farm or sandboxed solution projects to work, you only need to set IsPackaging=true.
A link to a customized build workflow sample for app scenarios is provided in the External Resources section at the end of this article.

4. Appendix

Use the following procedures to set up Team Build for SharePoint projects on TFS 2012:

Steps
App for Office App and App for SharePoint
Classic Solution 2013

1
Install Team Build software
Same procedure as the app project.

2
Install the Windows SDK to get its GACUtil tool, if you don't already have one on the build system.
Same procedure as the app project.

3

Install the following components:

  • Windows Identity Foundation (WIF)
  • WIF Extensions
  • SharePoint Client Component SDK
  • Workflow Client 1.0 and Workflow Manager 1.0 through WebPI

Skip this step.

4
Skip this step.

Install the following SharePoint assemblies:

  • Microsoft.SharePoint.dll
  • Microsoft.SharePoint.Security.dll
  • Microsoft.SharePoint.WorkflowActions.dll
  • Microsoft.Office.Server.dll
  • Microsoft.Office.Server.UserProfiles.dll
  • Microsoft.SharePoint.Client.dll
  • Microsoft.SharePoint.Client.Runtime.dll
  • Microsoft.SharePoint.Client.ServerRuntime.dll
  • Microsoft.SharePoint.Linq.dll
  • Microsoft.SharePoint.Portal.dll
  • Microsoft.SharePoint.Publishing.dll
  • Microsoft.SharePoint.Taxonomy.dll
  • Microsoft.Office.SharePoint.Tools.dll
  • Microsoft.SharePoint.WorkflowActions.dll
  • Microsoft.Web.CommandUI.dll

If your project references other SharePoint
assemblies, copy them to the build system too.

5

Install the following Office Developer Tools assemblies to GAC:

  • Microsoft.VisualStudio.SharePoint.Designers.Models.dll
  • Microsoft.VisualStudio.SharePoint.Designers.Models.Features.dll
  • Microsoft.VisualStudio.SharePoint.Designers.Models.Packages.dll
  • Microsoft.VisualStudio.SharePoint.dll

Same procedure as the app project.

6

Copy and install the following custom targets and tasks folders to the corresponding folders on the build machine:

  • .. \Program Files\MSBuild\Microsoft\VisualStudio\v11.0\SharePointTools
  • .. \Program Files\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications
  • .. \Program Files\MSBuild\Microsoft\VisualStudio\v11.0\Web
  • .. \Program Files\MSBuild\Microsoft\Workflow Manager\1.0

(For 64-bit systems, use "\Program Files (x86)" instead of "Program Files" in the paths above.)

Same procedure as the app project.

7

Add the following assembly to the GAC:

  • Microsoft.Activities.Design.dll

Same procedure as the app project.

8

Set the following parameters:

  1. To create a package in build:
    /p:IsPackaging=true
  2. To set the publish directory in the same drop output location:
    /p:PublishDir=<droplocation>
  3. When your solution contains multiple app projects, set the following parameter to produce app specific publish directories.
    /p:AppSpecificPublishOutputs=true

Set /p:IsPackaging=True

Script Support for Patching the Build System
Sample scripts are available to help automate the patching of the build system for SharePoint projects (see: http://officesharepointci.codeplex.com/). If SharePoint 2013, Visual Studio 2012 and Office Developer Tools are already installed on your developer system, you can run the script to collect all the necessary files in a folder. Then, copy this folder to the build system and run the script again to install the files to the proper locations.
The CodePlex project also contains a build workflow tailored for Office Developer Tools projects. The workflow will build the project, create the packages, and then call a user-specified deployment script to perform the deployment.

External Resources:
Office / SharePoint 2013 Continuous Integration with TFS 2012

How to Build Office Developer Tools Projects with TFS Team Build 2012的更多相关文章

  1. Office Developer Tools for Visual Studio 2012现在可用了

    [原文发表地址]   Now Available: Office Developer Tools for Visual Studio 2012 正如我以前写过的,我们正在为构建下一代Office和 S ...

  2. Developer tools

    20. Developer tools Spring Boot includes an additional set of tools that can make the application de ...

  3. Linux下安装Phalcon系统环境安装Phalcon 及 安装Phalcon Developer Tools

    一.安装Phalcon Phalcon 需要用的的PHP扩展函数有如下: curl gettext gd2 (to use the Phalcon\Image\Adapter\Gd class) li ...

  4. Chrome Developer Tools:Network Panel说明

    官方资料:Chrome Developer Tools: Network Panel 一.chrome Developer Tools:Network Panel 从网络面板中可以获取很多有用信息,如 ...

  5. eclipse中jsp文档无语法着色,安装Eclipse Java Web Developer Tools插件

    一.安装Eclipse Java Web Developer Tools插件 1.eclipse菜单:help/install New Software,打开Available Software窗体: ...

  6. React Developer Tools 安装小提示

    1,在google市场里边,安装React Developer Tools之后,发现是开启的,但是按下F12后,并没有发现react选项 2,后来通过查资料,发现必须是运行react项目的时候,才出现 ...

  7. ios 开发中 developer tools access 总是要输入密码问题的解决

    我一直没有想法去解决这个问题:打开iphone模拟器的时候,老是弹出developer tools access 让我输入密码, 今天我在打开模拟器的时候又弹出这个对话框,我愤怒了,于是我在网上查了一 ...

  8. ODAC with Oracle Developer Tools for Visual Studio

    c#开发Oracle数据库的时候,需要本机没有安装过 Oracle 客户端,直接下载 ODAC with Oracle Developer Tools for Visual Studio工具安装即可 ...

  9. 掌握Chrome Developer Tools:下一阶段前端开发技术

    Tips 原文作者:Ben Edelstein 原文地址:Mastering Chrome Developer Tools: Next Level Front-End Development Tech ...

随机推荐

  1. 使用windbg分析iis崩溃的一个实例

    问题背景说明:客户的生产环境不定时发生崩溃,需要定位崩溃的原因.在开发环境不能重现该问题,准备抓取IIS的dump文件分析 第一步:在客户的生产环境抓取dump文件 参考:IIS崩溃时自动抓取Dump ...

  2. 谈PHP中信息加密技术

    同样是一道面试答错的问题,面试官问我非对称加密算法中有哪些经典的算法? 当时我愣了一下,因为我把非对称加密与单项散列加密的概念弄混淆了,所以更不用说什么非对称加密算法中有什么经典算法,结果当然也让面试 ...

  3. (转)Netfilter分析

    看到一篇讲Netfilter框架的,如果有一点基础了的话对于捋清整个框架很好帮助,转下来细细阅读. 转自http://aichundi.blog.163.com/blog/static/7013846 ...

  4. 配置visual studio code进行asp.net core rc2的开发

    1.安装.net core sdk https://github.com/dotnet/cli#installers-and-binaries,根据你的系统选择下载. 2.下载vscode的C#扩展插 ...

  5. 【转载】Serial NOR Flash and U-Boot

    转载自:http://blackfin.uclinux.org/doku.php?id=bootloaders:u-boot:serial-flash U-Boot supports serial N ...

  6. 创意欣赏:20幅字体排版(Typography)素描

    通常我们都只关注最终的作品,但其实幕后还有很多的过程,其中一个是素描.素描用来表达最初思想观念的原型.有时客户需要一个独特的品牌新LOGO或字体,这时先绘制在纸上是比较方便的,之后扫描到 Photos ...

  7. [ASP.NET] 结合Web API在OWIN下实现OAuth

    OAuth(Open Authorization) 为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码), ...

  8. 基于android平台的斗地主AI

    本软件是基于android平台的斗地主AI,我们在源代码的基础之上,旨在改进AI的算法,使玩家具有更丰富的体验感,让NPC可以更为智能. (一)玩法解析: (1)发牌和叫牌:一副扑克54张,先为每个人 ...

  9. linq之let子句

    在Linq查询中Let子句可以创建一个新的范围变量,并使用该变量保存表达式的结果. 看下面的例子: private void LetQuery() { List<UserBaseInfo> ...

  10. Linq专题之对象初始化器

    在C#3.0之前,如果创建一个新的对象,往往需要调用类的构造函数来初始化该对象的值,在c#3.0提供了一个"对象初始化器"的机制,使得开发人员在创建新的对象时不通过调用类的构造函数 ...