Visual Studio Task¶
Most complex build processes use NAnt Task or MSBuild Task to script the build. However, for simple projects that just need to build a Visual Studio.NET solution, the Visual Studio task <devenv> provides an easier method.
Version¶
Available from version 1.0
Examples¶
Minimalist example
1<devenv>
2 <solutionfile>src\MyProject.sln</solutionfile>
3 <configuration>Debug</configuration>
4</devenv>
Full example
1<devenv>
2 <solutionfile>src\MyProject.sln</solutionfile>
3 <configuration>Debug</configuration>
4 <buildtype>Build</buildtype>
5 <project>MyProject</project>
6 <executable>c:\program files\Microsoft Visual Studio .NET\Common7\IDE\devenv.com</executable>
7 <buildTimeoutSeconds>600</buildTimeoutSeconds>
8 <version>VS2002</version>
9</devenv>
Configuration Elements¶
Element | Description | Type | Required | Default | Version |
buildTimeoutSeconds | Number of seconds to wait before assuming that the process has hung and should be killed. | Int32 | No | 600 (10 minutes) | 1.0 |
buildtype | The type of build. | ||||
No | rebuild | 1.0 | |||
configuration | The solution configuration to use (not case sensitive). | String | Yes | n/a | 1.0 |
description | Description used for the visualisation of the buildstage, if left empty the process name will be shown. | String | No | The task/publisher name. | 1.5 |
dynamicValues | The dynamic values to use for the task. | Dynamic Values array | No | None | 1.5 |
environment | A set of environment variables set for commands that are executed. Each variable should be specified as
. |
Environment Variable array | No | ||
executable | The path to devenv.com. | String | No | See below | 1.0 |
priority | The priority class of the spawned process. | String - one of: * Normal * Idle * High * RealTime * BelowNormal * AboveNormal |
No | Normal | 1.5 |
project | A specific project in the solution, if you only want to build one project (not case sensitive). | String | No | All projects | 1.0 |
solutionfile | The path of the solution file to build. If relative, it is relative to the Project Working Directory. | String | Yes | n/a | 1.0 |
version | The version of Visual Studio. | ||||
No | See below | 1.0 |
Notes¶
If executable and version are not specified, CC.NET will search the registry for VS.NET 2010, 2008, 2005, 2003, and 2002 in that order. If you need to use a specific version when a newer version is installed, you should specify the version property to identify it, or specify the executable property to point to the location of correct version of devenv.com.
warning
This task requires you to have Visual Studio .NET installed on your integration server.
Often programmers like to use a centralised project to build an entire software system. They define specific dependencies and the build order on that specific project to reproduce the behaviours of an nmake build.
Integration Properties¶
Label | Description | Example | Version |
CCNetArtifactDirectory | The project artifact directory (as an absolute path) | C:\Program Files\CruiseControl.NET\Server\MyProject\Artifacts | 1.0 |
CCNetBuildCondition | The condition used to trigger the build, indicating if the build was triggered by new modifications or if it was forced. Legal values are: IfModificationExists or ForceBuild | ForceBuild | 1.0 |
CCNetBuildDate | The date of the build (in yyyy-MM-dd format) | 2005-08-10 | 1.0 |
CCNetBuildTime | The time of the start of the build (in HH:mm:ss format) | 08:45:12 | 1.0 |
CCNetFailureTasks | The list of name of tasks which have contributed to the current build failure. When the description of the task is filled in, this will be shown. | Exec Task | 1.7 |
CCNetFailureUsers | The list of users who have contributed modifications to a sequence of builds that has failed. | John, Smith | 1.0 |
CCNetIntegrationStatus | The status of the current integration. Could be Success, Failure, Exception or Unknown | Success | 1.0 |
CCNetLabel | The label used to identify the CCNet build. This label is generated by the CCNet labeller. | 1.0.2.120 | 1.0 |
CCNetLastIntegrationStatus | The status of the previous integration. Could be Success, Failure, Exception or Unknown | Success | 1.0 |
CCNetListenerFile | View build progress : task output that shows how far the build is | c:\Project\Artifact\listener.xml | 1.4.0 |
CCNetModifyingUsers | The list of users who have contributed to the current build only | Smith | 1.0 |
CCNetNumericLabel | Contains the label as an integer if conversion is possible, otherwise zero. | 1 | 1.0 |
CCNetProject | The name of the CCNet project that is being integrated. | MyProject | 1.0 |
CCNetProjectUrl | The URL where the project is located | http://myhost/ccnet/server/ | 1.0 |
CCNetRequestSource | The source of the integration request; this will generally be the name of the trigger that raised the request. | IntervalTrigger | 1.1.0 |
CCNetUser | The user who forced the build. If security is off, or the build is not forced, then this will not be set. | John Doe | 1.5.0 |
CCNetWorkingDirectory | The project working directory (as an absolute path) | C:\Program Files\CruiseControl.NET\Server\MyProject\WorkingDirectory | 1.0 |
Automatically Generated¶
Documentation generated on Monday, 26 May 2014 at 7:18:04 AM