<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://code.msdn.microsoft.com/rss.xsl"?><rss version="2.0"><channel><title>DelayedBuildTask Wiki Rss Feed</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=Home</link><description>DelayedBuildTask Wiki Rss Description</description><item><title>UPDATED WIKI: InstallingDelayedBuildTask</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;version=9</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;&lt;a href="javascript:window.location.href='http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=DelayedBuildTask&amp;amp;DownloadId=2608';"&gt;Binaries Only&lt;/a&gt;&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueuedNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).  If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;&lt;a href="javascript:window.location.href='http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=DelayedBuildTask&amp;amp;DownloadId=2608';"&gt;Binaries Only&lt;/a&gt;&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://TFSSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;TFSSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows: &lt;b&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\DelayedBuildTask\DelayedBuildTask.targets&amp;quot; /&amp;gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;BeforeEndToEndIteration&amp;gt;&lt;/i&gt;.  Here is an example of an overridden target:&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;!-- Delay the build and send out an e-mail notification with an option to cancel --&amp;gt;
&amp;lt;Target Name=&amp;quot;BeforeEndToEndIteration&amp;quot;&amp;gt;
&amp;lt;DelayedBuildTask ToAddress=&amp;quot;John.Doe@MyCompany.com&amp;quot; 
                      SmtpServer=&amp;quot;mail.MyCompany.com&amp;quot;
                      BuildUri=&amp;quot;$(BuildUri)&amp;quot;
                      DelayedBuildWebUrl=&amp;quot;http://TFSSERVER/DelayedBuildWeb&amp;quot;
                      
                      BuildProperties=&amp;quot;{BuildType}=$(BuildDefinition)|{TeamProject}=$(TeamProject)|{ContactMe}=&amp;amp;lt;a href=&amp;amp;quot;mailto:John.Doe@MyCompany.com&amp;amp;quot;&amp;amp;gt;John Doe&amp;amp;lt;/a&amp;amp;gt;&amp;quot;
                      Delay=&amp;quot;300&amp;quot;
                      SendSecondaryNotification=&amp;quot;true&amp;quot;/&amp;gt;
&amp;lt;/Target&amp;gt;
&lt;/pre&gt;In this example, an e-mail message will be sent when a new build is queued and then a delay of 300 seconds (5 minutes) will occur unless the build is cancelled.  See &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=DelayedBuildTaskProperties&amp;amp;referringTitle=InstallingDelayedBuildTask"&gt;DelayedBuildTask Properties&lt;/a&gt; for a list of properties that can be passed into the build task.&lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:53:50 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: InstallingDelayedBuildTask 20080723P</guid></item><item><title>UPDATED WIKI: InstallingDelayedBuildTask</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;&lt;a href="javascript:window.location.href='http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=DelayedBuildTask&amp;amp;DownloadId=2608';"&gt;Binaries Only&lt;/a&gt;&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueuedNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).  If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://TFSSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;TFSSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows: &lt;b&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\DelayedBuildTask\DelayedBuildTask.targets&amp;quot; /&amp;gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;BeforeEndToEndIteration&amp;gt;&lt;/i&gt;.  Here is an example of an overridden target:&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;!-- Delay the build and send out an e-mail notification with an option to cancel --&amp;gt;
&amp;lt;Target Name=&amp;quot;BeforeEndToEndIteration&amp;quot;&amp;gt;
&amp;lt;DelayedBuildTask ToAddress=&amp;quot;John.Doe@MyCompany.com&amp;quot; 
                      SmtpServer=&amp;quot;mail.MyCompany.com&amp;quot;
                      BuildUri=&amp;quot;$(BuildUri)&amp;quot;
                      DelayedBuildWebUrl=&amp;quot;http://TFSSERVER/DelayedBuildWeb&amp;quot;
                      
                      BuildProperties=&amp;quot;{BuildType}=$(BuildDefinition)|{TeamProject}=$(TeamProject)|{ContactMe}=&amp;amp;lt;a href=&amp;amp;quot;mailto:John.Doe@MyCompany.com&amp;amp;quot;&amp;amp;gt;John Doe&amp;amp;lt;/a&amp;amp;gt;&amp;quot;
                      Delay=&amp;quot;300&amp;quot;
                      SendSecondaryNotification=&amp;quot;true&amp;quot;/&amp;gt;
&amp;lt;/Target&amp;gt;
&lt;/pre&gt;In this example, an e-mail message will be sent when a new build is queued and then a delay of 300 seconds (5 minutes) will occur unless the build is cancelled.  See &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=DelayedBuildTaskProperties&amp;amp;referringTitle=InstallingDelayedBuildTask"&gt;DelayedBuildTask Properties&lt;/a&gt; for a list of properties that can be passed into the build task.&lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:53:19 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: InstallingDelayedBuildTask 20080723P</guid></item><item><title>UPDATED WIKI: InstallingDelayedBuildTask</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;&lt;span class="unresolved"&gt;Cannot resolve link: &lt;/span&gt;[file:Binaries Only|DelayedBuildTask_-_Binaries_Only_v1.zip]&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueuedNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).  If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://TFSSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;TFSSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows: &lt;b&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\DelayedBuildTask\DelayedBuildTask.targets&amp;quot; /&amp;gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;BeforeEndToEndIteration&amp;gt;&lt;/i&gt;.  Here is an example of an overridden target:&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;!-- Delay the build and send out an e-mail notification with an option to cancel --&amp;gt;
&amp;lt;Target Name=&amp;quot;BeforeEndToEndIteration&amp;quot;&amp;gt;
&amp;lt;DelayedBuildTask ToAddress=&amp;quot;John.Doe@MyCompany.com&amp;quot; 
                      SmtpServer=&amp;quot;mail.MyCompany.com&amp;quot;
                      BuildUri=&amp;quot;$(BuildUri)&amp;quot;
                      DelayedBuildWebUrl=&amp;quot;http://TFSSERVER/DelayedBuildWeb&amp;quot;
                      
                      BuildProperties=&amp;quot;{BuildType}=$(BuildDefinition)|{TeamProject}=$(TeamProject)|{ContactMe}=&amp;amp;lt;a href=&amp;amp;quot;mailto:John.Doe@MyCompany.com&amp;amp;quot;&amp;amp;gt;John Doe&amp;amp;lt;/a&amp;amp;gt;&amp;quot;
                      Delay=&amp;quot;300&amp;quot;
                      SendSecondaryNotification=&amp;quot;true&amp;quot;/&amp;gt;
&amp;lt;/Target&amp;gt;
&lt;/pre&gt;In this example, an e-mail message will be sent when a new build is queued and then a delay of 300 seconds (5 minutes) will occur unless the build is cancelled.  See &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=DelayedBuildTaskProperties&amp;amp;referringTitle=InstallingDelayedBuildTask"&gt;DelayedBuildTask Properties&lt;/a&gt; for a list of properties that can be passed into the build task.&lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:52:25 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: InstallingDelayedBuildTask 20080723P</guid></item><item><title>UPDATED WIKI: InstallingDelayedBuildTask</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;&lt;span class="unresolved"&gt;Cannot resolve link: &lt;/span&gt;[file:Binaries Only|DelayedBuildTask_-_Binaries_Only_v1.zip|]&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueuedNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).  If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://TFSSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;TFSSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows: &lt;b&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\DelayedBuildTask\DelayedBuildTask.targets&amp;quot; /&amp;gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;BeforeEndToEndIteration&amp;gt;&lt;/i&gt;.  Here is an example of an overridden target:&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;!-- Delay the build and send out an e-mail notification with an option to cancel --&amp;gt;
&amp;lt;Target Name=&amp;quot;BeforeEndToEndIteration&amp;quot;&amp;gt;
&amp;lt;DelayedBuildTask ToAddress=&amp;quot;John.Doe@MyCompany.com&amp;quot; 
                      SmtpServer=&amp;quot;mail.MyCompany.com&amp;quot;
                      BuildUri=&amp;quot;$(BuildUri)&amp;quot;
                      DelayedBuildWebUrl=&amp;quot;http://TFSSERVER/DelayedBuildWeb&amp;quot;
                      
                      BuildProperties=&amp;quot;{BuildType}=$(BuildDefinition)|{TeamProject}=$(TeamProject)|{ContactMe}=&amp;amp;lt;a href=&amp;amp;quot;mailto:John.Doe@MyCompany.com&amp;amp;quot;&amp;amp;gt;John Doe&amp;amp;lt;/a&amp;amp;gt;&amp;quot;
                      Delay=&amp;quot;300&amp;quot;
                      SendSecondaryNotification=&amp;quot;true&amp;quot;/&amp;gt;
&amp;lt;/Target&amp;gt;
&lt;/pre&gt;In this example, an e-mail message will be sent when a new build is queued and then a delay of 300 seconds (5 minutes) will occur unless the build is cancelled.  See &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=DelayedBuildTaskProperties&amp;amp;referringTitle=InstallingDelayedBuildTask"&gt;DelayedBuildTask Properties&lt;/a&gt; for a list of properties that can be passed into the build task.&lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:52:11 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: InstallingDelayedBuildTask 20080723P</guid></item><item><title>UPDATED WIKI: InstallingDelayedBuildTask</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;&lt;span class="unresolved"&gt;Cannot resolve link: &lt;/span&gt;[file:Binaries Only|DelayedBuildTask - Binaries Only v1.zip|]&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueuedNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).  If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://TFSSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;TFSSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows: &lt;b&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\DelayedBuildTask\DelayedBuildTask.targets&amp;quot; /&amp;gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;BeforeEndToEndIteration&amp;gt;&lt;/i&gt;.  Here is an example of an overridden target:&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;!-- Delay the build and send out an e-mail notification with an option to cancel --&amp;gt;
&amp;lt;Target Name=&amp;quot;BeforeEndToEndIteration&amp;quot;&amp;gt;
&amp;lt;DelayedBuildTask ToAddress=&amp;quot;John.Doe@MyCompany.com&amp;quot; 
                      SmtpServer=&amp;quot;mail.MyCompany.com&amp;quot;
                      BuildUri=&amp;quot;$(BuildUri)&amp;quot;
                      DelayedBuildWebUrl=&amp;quot;http://TFSSERVER/DelayedBuildWeb&amp;quot;
                      
                      BuildProperties=&amp;quot;{BuildType}=$(BuildDefinition)|{TeamProject}=$(TeamProject)|{ContactMe}=&amp;amp;lt;a href=&amp;amp;quot;mailto:John.Doe@MyCompany.com&amp;amp;quot;&amp;amp;gt;John Doe&amp;amp;lt;/a&amp;amp;gt;&amp;quot;
                      Delay=&amp;quot;300&amp;quot;
                      SendSecondaryNotification=&amp;quot;true&amp;quot;/&amp;gt;
&amp;lt;/Target&amp;gt;
&lt;/pre&gt;In this example, an e-mail message will be sent when a new build is queued and then a delay of 300 seconds (5 minutes) will occur unless the build is cancelled.  See &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=DelayedBuildTaskProperties&amp;amp;referringTitle=InstallingDelayedBuildTask"&gt;DelayedBuildTask Properties&lt;/a&gt; for a list of properties that can be passed into the build task.&lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:51:11 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: InstallingDelayedBuildTask 20080723P</guid></item><item><title>UPDATED WIKI: InstallingDelayedBuildTask</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;&lt;span class="unresolved"&gt;Cannot resolve link: &lt;/span&gt;[file:Binaries Only|DelayedBuildTask - Binaries Only v1|]&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueuedNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).  If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://TFSSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;TFSSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows: &lt;b&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\DelayedBuildTask\DelayedBuildTask.targets&amp;quot; /&amp;gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;BeforeEndToEndIteration&amp;gt;&lt;/i&gt;.  Here is an example of an overridden target:&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;!-- Delay the build and send out an e-mail notification with an option to cancel --&amp;gt;
&amp;lt;Target Name=&amp;quot;BeforeEndToEndIteration&amp;quot;&amp;gt;
&amp;lt;DelayedBuildTask ToAddress=&amp;quot;John.Doe@MyCompany.com&amp;quot; 
                      SmtpServer=&amp;quot;mail.MyCompany.com&amp;quot;
                      BuildUri=&amp;quot;$(BuildUri)&amp;quot;
                      DelayedBuildWebUrl=&amp;quot;http://TFSSERVER/DelayedBuildWeb&amp;quot;
                      
                      BuildProperties=&amp;quot;{BuildType}=$(BuildDefinition)|{TeamProject}=$(TeamProject)|{ContactMe}=&amp;amp;lt;a href=&amp;amp;quot;mailto:John.Doe@MyCompany.com&amp;amp;quot;&amp;amp;gt;John Doe&amp;amp;lt;/a&amp;amp;gt;&amp;quot;
                      Delay=&amp;quot;300&amp;quot;
                      SendSecondaryNotification=&amp;quot;true&amp;quot;/&amp;gt;
&amp;lt;/Target&amp;gt;
&lt;/pre&gt;In this example, an e-mail message will be sent when a new build is queued and then a delay of 300 seconds (5 minutes) will occur unless the build is cancelled.  See &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=DelayedBuildTaskProperties&amp;amp;referringTitle=InstallingDelayedBuildTask"&gt;DelayedBuildTask Properties&lt;/a&gt; for a list of properties that can be passed into the build task.&lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:50:58 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: InstallingDelayedBuildTask 20080723P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=Home&amp;version=9</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Description
&lt;/h1&gt;The DelayedBuildTask is a custom build task for Team Foundation Build that notifies a list of e-mail recipients when a build has been queued and provides a link &amp;#40;within the e-mail message&amp;#41; that can be clicked to cancel the build before it starts &amp;#40;based on a delay&amp;#41;.
&lt;br /&gt;&lt;h1&gt;
What is the DelayedBuildTask?
&lt;/h1&gt;One of the great features of Team Foundation Server is its ability to automate the build process.  You queue a new build (whether it's a continuous integration build, scheduled build, or an on-demand build) and, assuming another build for the same project isn't already building, the build will start.  In most cases, this is the desired outcome.  However, there are some cases when you would like to give other members of the project team a chance to cancel the build before it starts (e.g. if they are currently in the midst of testing a hard-to-reproduce defect).&lt;br /&gt; &lt;br /&gt;This is where the DelayedBuildTask comes in.  This custom build task allows you to configure your build so that it will send out an e-mail message to a list of recipients that a build has just been queued.  The e-mail message has a link within it that, when clicked, will cancel the build.  The custom build task will then wait a predetermined amount of time (the default is 5 minutes) and, if the build has not been cancelled, will then continue on with the build.&lt;br /&gt;&lt;h1&gt;
Using the DelayedBuildTask
&lt;/h1&gt;Using the DelayedBuildTask involves the following steps:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Installing and configuring the custom build task on your build server.&lt;/li&gt;&lt;li&gt;Installing and configuring a simple web application within IIS (this hosts a simple ASPX page used to cancel the build).&lt;/li&gt;&lt;li&gt;Importing the build task's .targets file within your build script.&lt;/li&gt;&lt;li&gt;Overriding the desired build target to invoke the custom build task.&lt;/li&gt;
&lt;/ol&gt;See &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;amp;referringTitle=Home"&gt;Installing DelayedBuildTask&lt;/a&gt; for the full installation instructions.&lt;br /&gt; &lt;br /&gt;Also, see &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=DelayedBuildTaskProperties&amp;amp;referringTitle=Home"&gt;DelayedBuildTask Properties&lt;/a&gt; for a list of properties that can be passed into the DelayedBuildTask.&lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:49:03 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080723P</guid></item><item><title>UPDATED WIKI: DelayedBuildTaskProperties</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=DelayedBuildTaskProperties&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
DelayedBuildTask Properties
&lt;/h1&gt;&lt;h2&gt;
Required Properties
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;ToAddress&lt;/b&gt; – a comma (or semi-colon) delimited list of e-mail recipients that should receive the delay notification.&lt;/li&gt;&lt;li&gt;&lt;b&gt;SmtpServer&lt;/b&gt; – the SMTP server to be used.&lt;/li&gt;&lt;li&gt;&lt;b&gt;BuildUri&lt;/b&gt; – set to the property $(BuildUri).&lt;/li&gt;&lt;li&gt;&lt;b&gt;DelayedBuildWebUrl&lt;/b&gt; – the URL of the DelayedBuildWeb site.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;
Optional Properties
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;BuildProperties&lt;/b&gt; – this is a pipe (i.e. “|”) delimited list of key=value pairs that can be used as tags in the e-mail notification templates (i.e. any key that is found in the notification template will be replaced by the value).&lt;/li&gt;&lt;li&gt;&lt;b&gt;Delay&lt;/b&gt; – specifies the delay, in seconds, that the build task should wait before continuing.  The default is 300 seconds.&lt;/li&gt;&lt;li&gt;&lt;b&gt;SendSecondaryNotification&lt;/b&gt; – if set to true, will send out a secondary e-mail notification once the delay has expired and the build has started.  The default is false.&lt;/li&gt;&lt;li&gt;&lt;b&gt;FromAddress&lt;/b&gt; – the “FROM” address used when sending e-mail messages.  Defaults to “DelayedBuildTask@NotMonitored.com”.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Subject&lt;/b&gt; – the “SUBJECT” line used when sending e-mail messages.  Defaults to “Team Foundation Build Notification”.&lt;/li&gt;&lt;li&gt;&lt;b&gt;SmtpPort&lt;/b&gt; – the SMTP server port number.  Defaults to 25.&lt;/li&gt;&lt;li&gt;&lt;b&gt;QueuedNotificationTemplatePath&lt;/b&gt; – the path to the HTML template used when sending “queued build” notifications.  Defaults to “C:\Program Files\MSBuild\DelayedBuildTask\BuildQueuedNotifcation.html”. &lt;/li&gt;&lt;li&gt;&lt;b&gt;StartedNotificationTemplatePath&lt;/b&gt; – the path to the HTML template used when sending “build started” notifications.  Defaults to “C:\Program Files\MSBuild\DelayedBuildTask\BuildStartedNotifcation.html”.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:47:17 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: DelayedBuildTaskProperties 20080723P</guid></item><item><title>UPDATED WIKI: DelayedBuildTaskProperties</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=DelayedBuildTaskProperties&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
DelayedBuildTask Properties
&lt;/h1&gt;&lt;h2&gt;
Required Properties
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;ToAddress – a comma (or semi-colon) delimited list of e-mail recipients that should receive the delay notification.&lt;/li&gt;&lt;li&gt;SmtpServer – the SMTP server to be used.&lt;/li&gt;&lt;li&gt;BuildUri – set to the property $(BuildUri).&lt;/li&gt;&lt;li&gt;DelayedBuildWebUrl – the URL of the DelayedBuildWeb site.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;
Optional Properties
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;BuildProperties – this is a pipe (i.e. “|”) delimited list of key=value pairs that can be used as tags in the e-mail notification templates (i.e. any key that is found in the notification template will be replaced by the value).&lt;/li&gt;&lt;li&gt;Delay – specifies the delay, in seconds, that the build task should wait before continuing.  The default is 300 seconds.&lt;/li&gt;&lt;li&gt;SendSecondaryNotification – if set to true, will send out a secondary e-mail notification once the delay has expired and the build has started.  The default is false.&lt;/li&gt;&lt;li&gt;FromAddress – the “FROM” address used when sending e-mail messages.  Defaults to “DelayedBuildTask@NotMonitored.com”.&lt;/li&gt;&lt;li&gt;Subject – the “SUBJECT” line used when sending e-mail messages.  Defaults to “Team Foundation Build Notification”.&lt;/li&gt;&lt;li&gt;SmtpPort – the SMTP server port number.  Defaults to 25.&lt;/li&gt;&lt;li&gt;QueuedNotificationTemplatePath – the path to the HTML template used when sending “queued build” notifications.  Defaults to “C:\Program Files\MSBuild\DelayedBuildTask\BuildQueuedNotifcation.html”. &lt;/li&gt;&lt;li&gt;StartedNotificationTemplatePath – the path to the HTML template used when sending “build started” notifications.  Defaults to “C:\Program Files\MSBuild\DelayedBuildTask\BuildStartedNotifcation.html”.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:46:38 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: DelayedBuildTaskProperties 20080723P</guid></item><item><title>UPDATED WIKI: InstallingDelayedBuildTask</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueuedNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).  If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://TFSSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;TFSSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows: &lt;b&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\DelayedBuildTask\DelayedBuildTask.targets&amp;quot; /&amp;gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;BeforeEndToEndIteration&amp;gt;&lt;/i&gt;.  Here is an example of an overridden target:&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;!-- Delay the build and send out an e-mail notification with an option to cancel --&amp;gt;
&amp;lt;Target Name=&amp;quot;BeforeEndToEndIteration&amp;quot;&amp;gt;
&amp;lt;DelayedBuildTask ToAddress=&amp;quot;John.Doe@MyCompany.com&amp;quot; 
                      SmtpServer=&amp;quot;mail.MyCompany.com&amp;quot;
                      BuildUri=&amp;quot;$(BuildUri)&amp;quot;
                      DelayedBuildWebUrl=&amp;quot;http://TFSSERVER/DelayedBuildWeb&amp;quot;
                      
                      BuildProperties=&amp;quot;{BuildType}=$(BuildDefinition)|{TeamProject}=$(TeamProject)|{ContactMe}=&amp;amp;lt;a href=&amp;amp;quot;mailto:John.Doe@MyCompany.com&amp;amp;quot;&amp;amp;gt;John Doe&amp;amp;lt;/a&amp;amp;gt;&amp;quot;
                      Delay=&amp;quot;300&amp;quot;
                      SendSecondaryNotification=&amp;quot;true&amp;quot;/&amp;gt;
&amp;lt;/Target&amp;gt;
&lt;/pre&gt;In this example, an e-mail message will be sent when a new build is queued and then a delay of 300 seconds (5 minutes) will occur unless the build is cancelled.  See &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=DelayedBuildTaskProperties&amp;amp;referringTitle=InstallingDelayedBuildTask"&gt;DelayedBuildTask Properties&lt;/a&gt; for a list of properties that can be passed into the build task.&lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:44:39 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: InstallingDelayedBuildTask 20080723P</guid></item><item><title>UPDATED WIKI: InstallingDelayedBuildTask</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueuedNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).  If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://TFSSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;TFSSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows: &lt;b&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\DelayedBuildTask\DelayedBuildTask.targets&amp;quot; /&amp;gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;BeforeEndToEndIteration&amp;gt;&lt;/i&gt;.  Here is an example of an overridden target:&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;!-- Delay the build and send out an e-mail notification with an option to cancel --&amp;gt;
&amp;lt;Target Name=&amp;quot;BeforeEndToEndIteration&amp;quot;&amp;gt;
&amp;lt;DelayedBuildTask ToAddress=&amp;quot;John.Doe@MyCompany.com&amp;quot; 
                      SmtpServer=&amp;quot;mail.MyCompany.com&amp;quot;
                      BuildUri=&amp;quot;$(BuildUri)&amp;quot;
                      DelayedBuildWebUrl=&amp;quot;http://TFSSERVER/DelayedBuildWeb&amp;quot;
                      
                      BuildProperties=&amp;quot;{BuildType}=$(BuildDefinition)|{TeamProject}=$(TeamProject)|{ContactMe}=&amp;amp;lt;a href=&amp;amp;quot;mailto:John.Doe@MyCompany.com&amp;amp;quot;&amp;amp;gt;John Doe&amp;amp;lt;/a&amp;amp;gt;&amp;quot;
                      Delay=&amp;quot;300&amp;quot;
                      SendSecondaryNotification=&amp;quot;true&amp;quot;/&amp;gt;
&amp;lt;/Target&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:42:51 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: InstallingDelayedBuildTask 20080723P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=Home&amp;version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Description
&lt;/h1&gt;The DelayedBuildTask is a custom build task for Team Foundation Build that notifies a list of e-mail recipients when a build has been queued and provides a link &amp;#40;within the e-mail message&amp;#41; that can be clicked to cancel the build before it starts &amp;#40;based on a delay&amp;#41;.
&lt;br /&gt;&lt;h1&gt;
What is the DelayedBuildTask?
&lt;/h1&gt;One of the great features of Team Foundation Server is its ability to automate the build process.  You queue a new build (whether it's a continuous integration build, scheduled build, or an on-demand build) and, assuming another build for the same project isn't already building, the build will start.  In most cases, this is the desired outcome.  However, there are some cases when you would like to give other members of the project team a chance to cancel the build before it starts (e.g. if they are currently in the midst of testing a hard-to-reproduce defect).&lt;br /&gt; &lt;br /&gt;This is where the DelayedBuildTask comes in.  This custom build task allows you to configure your build so that it will send out an e-mail message to a list of recipients that a build has just been queued.  The e-mail message has a link within it that, when clicked, will cancel the build.  The custom build task will then wait a predetermined amount of time (the default is 5 minutes) and, if the build has not been cancelled, will then continue on with the build.&lt;br /&gt;&lt;h1&gt;
Using the DelayedBuildTask
&lt;/h1&gt;Using the DelayedBuildTask involves the following steps:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Installing and configuring the custom build task on your build server.&lt;/li&gt;&lt;li&gt;Installing and configuring a simple web application within IIS (this hosts a simple ASPX page used to cancel the build).&lt;/li&gt;&lt;li&gt;Importing the build task's .targets file within your build script.&lt;/li&gt;&lt;li&gt;Overriding the desired build target to invoke the custom build task.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;See &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;amp;referringTitle=Home"&gt;Installing DelayedBuildTask&lt;/a&gt; for the full installation instructions.&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:42:16 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080723P</guid></item><item><title>UPDATED WIKI: InstallingDelayedBuildTask</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
dddd&lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:42:00 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: InstallingDelayedBuildTask 20080723P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=Home&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Description
&lt;/h1&gt;The DelayedBuildTask is a custom build task for Team Foundation Build that notifies a list of e-mail recipients when a build has been queued and provides a link &amp;#40;within the e-mail message&amp;#41; that can be clicked to cancel the build before it starts &amp;#40;based on a delay&amp;#41;.
&lt;br /&gt;&lt;h1&gt;
What is the DelayedBuildTask?
&lt;/h1&gt;One of the great features of Team Foundation Server is its ability to automate the build process.  You queue a new build (whether it's a continuous integration build, scheduled build, or an on-demand build) and, assuming another build for the same project isn't already building, the build will start.  In most cases, this is the desired outcome.  However, there are some cases when you would like to give other members of the project team a chance to cancel the build before it starts (e.g. if they are currently in the midst of testing a hard-to-reproduce defect).&lt;br /&gt; &lt;br /&gt;This is where the DelayedBuildTask comes in.  This custom build task allows you to configure your build so that it will send out an e-mail message to a list of recipients that a build has just been queued.  The e-mail message has a link within it that, when clicked, will cancel the build.  The custom build task will then wait a predetermined amount of time (the default is 5 minutes) and, if the build has not been cancelled, will then continue on with the build.&lt;br /&gt;&lt;h1&gt;
Using the DelayedBuildTask
&lt;/h1&gt;Using the DelayedBuildTask involves the following steps:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Installing and configuring the custom build task on your build server.&lt;/li&gt;&lt;li&gt;Installing and configuring a simple web application within IIS (this hosts a simple ASPX page used to cancel the build).&lt;/li&gt;&lt;li&gt;Importing the build task's .targets file within your build script.&lt;/li&gt;&lt;li&gt;Overriding the desired build target to invoke the custom build task.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;See &lt;a href="http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=InstallingDelayedBuildTask&amp;amp;referringTitle=Home"&gt;Installing DelayedBuildTask&lt;/a&gt; for the full installation instructions.&lt;br /&gt; &lt;br /&gt;Each of these steps are covered below:&lt;br /&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueuedNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).  If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://TFSSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;TFSSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows: &lt;b&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\DelayedBuildTask\DelayedBuildTask.targets&amp;quot; /&amp;gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;BeforeEndToEndIteration&amp;gt;&lt;/i&gt;.  Here is an example of an overridden target:&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;!-- Delay the build and send out an e-mail notification with an option to cancel --&amp;gt;
&amp;lt;Target Name=&amp;quot;BeforeEndToEndIteration&amp;quot;&amp;gt;
&amp;lt;DelayedBuildTask ToAddress=&amp;quot;John.Doe@MyCompany.com&amp;quot; 
                      SmtpServer=&amp;quot;mail.MyCompany.com&amp;quot;
                      BuildUri=&amp;quot;$(BuildUri)&amp;quot;
                      DelayedBuildWebUrl=&amp;quot;http://TFSSERVER/DelayedBuildWeb&amp;quot;
                      
                      BuildProperties=&amp;quot;{BuildType}=$(BuildDefinition)|{TeamProject}=$(TeamProject)|{ContactMe}=&amp;amp;lt;a href=&amp;amp;quot;mailto:John.Doe@MyCompany.com&amp;amp;quot;&amp;amp;gt;John Doe&amp;amp;lt;/a&amp;amp;gt;&amp;quot;
                      Delay=&amp;quot;300&amp;quot;
                      SendSecondaryNotification=&amp;quot;true&amp;quot;/&amp;gt;
&amp;lt;/Target&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:41:36 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080723P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Description
&lt;/h1&gt;The DelayedBuildTask is a custom build task for Team Foundation Build that notifies a list of e-mail recipients when a build has been queued and provides a link &amp;#40;within the e-mail message&amp;#41; that can be clicked to cancel the build before it starts &amp;#40;based on a delay&amp;#41;.
&lt;br /&gt;&lt;h1&gt;
What is the DelayedBuildTask?
&lt;/h1&gt;One of the great features of Team Foundation Server is its ability to automate the build process.  You queue a new build (whether it's a continuous integration build, scheduled build, or an on-demand build) and, assuming another build for the same project isn't already building, the build will start.  In most cases, this is the desired outcome.  However, there are some cases when you would like to give other members of the project team a chance to cancel the build before it starts (e.g. if they are currently in the midst of testing a hard-to-reproduce defect).&lt;br /&gt; &lt;br /&gt;This is where the DelayedBuildTask comes in.  This custom build task allows you to configure your build so that it will send out an e-mail message to a list of recipients that a build has just been queued.  The e-mail message has a link within it that, when clicked, will cancel the build.  The custom build task will then wait a predetermined amount of time (the default is 5 minutes) and, if the build has not been cancelled, will then continue on with the build.&lt;br /&gt;&lt;h1&gt;
Using the DelayedBuildTask
&lt;/h1&gt;Using the DelayedBuildTask involves the following steps:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Installing and configuring the custom build task on your build server.&lt;/li&gt;&lt;li&gt;Installing and configuring a simple web application within IIS (this hosts a simple ASPX page used to cancel the build).&lt;/li&gt;&lt;li&gt;Importing the build task's .targets file within your build script.&lt;/li&gt;&lt;li&gt;Overriding the desired build target to invoke the custom build task.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;Each of these steps are covered below:&lt;br /&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueuedNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).  If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://TFSSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;TFSSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows: &lt;b&gt;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\DelayedBuildTask\DelayedBuildTask.targets&amp;quot; /&amp;gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;BeforeEndToEndIteration&amp;gt;&lt;/i&gt;.  Here is an example of an overridden target:&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;pre&gt;
&amp;lt;!-- Delay the build and send out an e-mail notification with an option to cancel --&amp;gt;
&amp;lt;Target Name=&amp;quot;BeforeEndToEndIteration&amp;quot;&amp;gt;
&amp;lt;DelayedBuildTask ToAddress=&amp;quot;John.Doe@MyCompany.com&amp;quot; 
                      SmtpServer=&amp;quot;mail.MyCompany.com&amp;quot;
                      BuildUri=&amp;quot;$(BuildUri)&amp;quot;
                      DelayedBuildWebUrl=&amp;quot;http://TFSSERVER/DelayedBuildWeb&amp;quot;
                      
                      BuildProperties=&amp;quot;{BuildType}=$(BuildDefinition)|{TeamProject}=$(TeamProject)|{ContactMe}=&amp;amp;lt;a href=&amp;amp;quot;mailto:John.Doe@MyCompany.com&amp;amp;quot;&amp;amp;gt;John Doe&amp;amp;lt;/a&amp;amp;gt;&amp;quot;
                      Delay=&amp;quot;300&amp;quot;
                      SendSecondaryNotification=&amp;quot;true&amp;quot;/&amp;gt;
&amp;lt;/Target&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 15:38:43 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080723P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=Home&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Description
&lt;/h1&gt;The DelayedBuildTask is a custom build task for Team Foundation Build that notifies a list of e-mail recipients when a build has been queued and provides a link &amp;#40;within the e-mail message&amp;#41; that can be clicked to cancel the build before it starts &amp;#40;based on a delay&amp;#41;.
&lt;br /&gt;&lt;h1&gt;
What is the DelayedBuildTask?
&lt;/h1&gt;One of the great features of Team Foundation Server is its ability to automate the build process.  You queue a new build (whether it's a continuous integration build, scheduled build, or an on-demand build) and, assuming another build for the same project isn't already building, the build will start.  In most cases, this is the desired outcome.  However, there are some cases when you would like to give other members of the project team a chance to cancel the build before it starts (e.g. if they are currently in the midst of testing a hard-to-reproduce defect).&lt;br /&gt; &lt;br /&gt;This is where the DelayedBuildTask comes in.  This custom build task allows you to configure your build so that it will send out an e-mail message to a list of recipients that a build has just been queued.  The e-mail message has a link within it that, when clicked, will cancel the build.  The custom build task will then wait a predetermined amount of time (the default is 5 minutes) and, if the build has not been cancelled, will then continue on with the build.&lt;br /&gt;&lt;h1&gt;
Using the DelayedBuildTask
&lt;/h1&gt;Using the DelayedBuildTask involves the following steps:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Installing and configuring the custom build task on your build server.&lt;/li&gt;&lt;li&gt;Installing and configuring a simple web application within IIS (this hosts a simple ASPX page used to cancel the build).&lt;/li&gt;&lt;li&gt;Importing the build task's .targets file within your build script.&lt;/li&gt;&lt;li&gt;Overriding the desired build target to invoke the custom build task.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;Each of these steps are covered below:&lt;br /&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;
&lt;/ol&gt;#2 Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;br /&gt;&lt;ol&gt;
&lt;ol&gt;
&lt;li&gt;BuildQueueNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).&lt;/li&gt;
&lt;/ol&gt;&lt;li&gt;If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://MYSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;MYSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;To utilize the DelayedBuildTask within your build script:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;At the top of your TFSBuild.proj file, import the .targets file as follows:|&amp;lt;imports ..... /&amp;gt;|&lt;/li&gt;&lt;li&gt;Override the desired target within your build script where you would like the delay to begin (and at which point you would like the e-mail notification to be sent out).  Typically, this would be the target &lt;i&gt;&amp;lt;EndToEndIteration&amp;gt;&lt;/i&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 06:01:52 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080723A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Description
&lt;/h1&gt;The DelayedBuildTask is a custom build task for Team Foundation Build that notifies a list of e-mail recipients when a build has been queued and provides a link &amp;#40;within the e-mail message&amp;#41; that can be clicked to cancel the build before it starts &amp;#40;based on a delay&amp;#41;.
&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
What is the DelayedBuildTask?
&lt;/h1&gt;One of the great features of Team Foundation Server is its ability to automate the build process.  You queue a new build (whether it's a continuous integration build, scheduled build, or an on-demand build) and, assuming another build for the same project isn't already building, the build will start.  In most cases, this is the desired outcome.  However, there are some cases when you would like to give other members of the project team a chance to cancel the build before it starts (e.g. if they are currently in the midst of testing a hard-to-reproduce defect).&lt;br /&gt; &lt;br /&gt;This is where the DelayedBuildTask comes in.  This custom build task allows you to configure your build so that it will send out an e-mail message to a list of recipients that a build has just been queued.  The e-mail message has a link within it that, when clicked, will cancel the build.  The custom build task will then wait a predetermined amount of time (the default is 5 minutes) and, if the build has not been cancelled, will then continue on with the build.&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Using the DelayedBuildTask
&lt;/h1&gt;Using the DelayedBuildTask involves the following steps:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Installing and configuring the custom build task on your build server.&lt;/li&gt;&lt;li&gt;Installing and configuring a simple web application within IIS (this hosts a simple ASPX page used to cancel the build).&lt;/li&gt;&lt;li&gt;Importing the build task's .targets file within your build script.&lt;/li&gt;&lt;li&gt;Overriding the desired build target to invoke the custom build task.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;Each of these steps are covered below:&lt;br /&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the &lt;i&gt;DelayedBuildTask&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueueNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).&lt;/li&gt;
&lt;/ol&gt;&lt;li&gt;If you installed the custom build task to a folder other than the default folder listed above, you will need to modify the .targets file to reference the correct folder.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb
&lt;/h2&gt;The DelayedBuildTasks relies on a simple (single-page) web application to provide the ability to cancel a build.  The web application consists of a single ASPX page that utilizes the Team Foundation Server Web Services API to cancel a build.&lt;br /&gt; &lt;br /&gt;To setup the web application:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a folder called &lt;i&gt;DelayedBuildWeb&lt;/i&gt; (e.g. C:\Inetpub\wwwroot\DelayedBuildWeb).&lt;/li&gt;&lt;li&gt;Copy the folders and files within the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.&lt;/li&gt;&lt;li&gt;Within the Web.config file, locate the value &lt;i&gt;http://MYSERVER:8080/build/v2.0/buildservice.asmx&lt;/i&gt; and replace &amp;quot;MYSERVER:8080&amp;quot; with the address of your Team Foundation Server Application Tier.  This is the address of the web services API used to manage builds.&lt;/li&gt;&lt;li&gt;Within IIS Manager:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;Create an Application Pool and modify it to run under an account that has permissions to your Team Foundation Server (e.g. so that it can cancel builds).&lt;/li&gt;&lt;li&gt;Convert the &lt;i&gt;DelayedBuildWeb&lt;/i&gt; folder to a web application and set the Applicaton Pool to the one created above.&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt; &lt;br /&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 05:54:47 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080723A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Description
&lt;/h1&gt;The DelayedBuildTask is a custom build task for Team Foundation Build that notifies a list of e-mail recipients when a build has been queued and provides a link &amp;#40;within the e-mail message&amp;#41; that can be clicked to cancel the build before it starts &amp;#40;based on a delay&amp;#41;.
&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
What is the DelayedBuildTask?
&lt;/h1&gt;One of the great features of Team Foundation Server is its ability to automate the build process.  You queue a new build (whether it's a continuous integration build, scheduled build, or an on-demand build) and, assuming another build for the same project isn't already building, the build will start.  In most cases, this is the desired outcome.  However, there are some cases when you would like to give other members of the project team a chance to cancel the build before it starts (e.g. if they are currently in the midst of testing a hard-to-reproduce defect).&lt;br /&gt; &lt;br /&gt;This is where the DelayedBuildTask comes in.  This custom build task allows you to configure your build so that it will send out an e-mail message to a list of recipients that a build has just been queued.  The e-mail message has a link within it that, when clicked, will cancel the build.  The custom build task will then wait a predetermined amount of time (the default is 5 minutes) and, if the build has not been cancelled, will then continue on with the build.&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Using the DelayedBuildTask
&lt;/h1&gt;Using the DelayedBuildTask involves the following steps:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Installing and configuring the custom build task on your build server.&lt;/li&gt;&lt;li&gt;Installing and configuring a simple web application within IIS (this hosts a simple ASPX page used to cancel the build).&lt;/li&gt;&lt;li&gt;Importing the build task's .targets file within your build script.&lt;/li&gt;&lt;li&gt;Overriding the desired build target to invoke the custom build task.&lt;/li&gt;
&lt;/ol&gt; &lt;br /&gt;Each of these steps are covered below:&lt;br /&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildTask
&lt;/h2&gt;To install the DelayedBuildTask on your &lt;b&gt;build&lt;/b&gt; server:&lt;br /&gt;&lt;ol&gt;
&lt;li&gt;Create a new folder where the build task files will be stored.  By default, this should be: &lt;i&gt;C:\Program Files\MSBuild\DelayedBuildTask&lt;/i&gt;.  &lt;b&gt;NOTE&lt;/b&gt;: If you change this path, you will need to modify the .targets file accordingly.&lt;/li&gt;&lt;li&gt;Copy the files within the DelayedBuildTask folder from the &amp;quot;Binaries Only&amp;quot; download into the newly created folder.  This folder should consist of four files, including:&lt;/li&gt;&lt;ol&gt;
&lt;li&gt;BuildQueueNotification.html - this is the HTML template used when sending a notification that a build has been queued.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;BuildStartedNotification.html - this is the HTML template used when sending a notification that a previously queued build has been started.  This template can be modified based on your team's specific needs.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.dll - this is the custom task assembly.&lt;/li&gt;&lt;li&gt;DelayedBuildTask.targets - this is the custom tasks .targets file.  This is the .targets file that will be imported into your build script(s).&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt; &lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Installing and Configuring DelayedBuildWeb 
&lt;/h2&gt; &lt;br /&gt;&lt;h2&gt;
Modifying the Build Script to use DelayedBuildTask
&lt;/h2&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 05:46:58 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080723A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/DelayedBuildTask/Wiki/View.aspx?title=Home&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Description&lt;/b&gt;&lt;br /&gt;The DelayedBuildTask is a custom build task for Team Foundation Build that notifies a list of e-mail recipients when a build has been queued and provides a link &amp;#40;within the e-mail message&amp;#41; that can be clicked to cancel the build before it starts &amp;#40;based on a delay&amp;#41;.
&lt;br /&gt; &lt;br /&gt;&lt;b&gt;What is the DelayedBuildTask&lt;/b&gt;&lt;br /&gt;One of the great features of Team Foundation Server is its ability to automate the build process.  You queue a new build (whether it's a continuous integration build, scheduled build, or an on-demand build) and, assuming another build for the same project isn't already building, the build will start.  In most cases, this is the desired outcome.  However, there are some cases when you would like to give other members of the project team a chance to cancel the build before it starts (e.g. if they are currently in the midst of testing a hard-to-reproduce defect).&lt;br /&gt; &lt;br /&gt;This is where the DelayedBuildTask comes in.  This custom build task allows you to configure your build so that it will send out an e-mail message to a list of recipients that a build has just been queued.  The e-mail message has a link within it that, when clicked, will cancel the build.  The custom build task will then wait a predetermined amount of time (the default is 5 minutes) and, if the build has not been cancelled, will then continue on with the build.&lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>jbramwell</author><pubDate>Wed, 23 Jul 2008 05:35:27 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080723A</guid></item></channel></rss>