<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Automating the build with MSBuild (part two)</title>
	<atom:link href="http://codingcockerel.co.uk/2008/04/20/automating-the-build-with-msbuild-part-two/feed/" rel="self" type="application/rss+xml" />
	<link>http://codingcockerel.co.uk/2008/04/20/automating-the-build-with-msbuild-part-two/</link>
	<description>Getting the job done with .NET</description>
	<lastBuildDate>Fri, 18 May 2012 16:49:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: 1</title>
		<link>http://codingcockerel.co.uk/2008/04/20/automating-the-build-with-msbuild-part-two/comment-page-1/#comment-17849</link>
		<dc:creator>1</dc:creator>
		<pubDate>Fri, 18 May 2012 16:49:36 +0000</pubDate>
		<guid isPermaLink="false">http://codingcockerel.wordpress.com/?p=8#comment-17849</guid>
		<description>-1&#039;</description>
		<content:encoded><![CDATA[<p>-1&#8242;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: codingcockerel</title>
		<link>http://codingcockerel.co.uk/2008/04/20/automating-the-build-with-msbuild-part-two/comment-page-1/#comment-6438</link>
		<dc:creator>codingcockerel</dc:creator>
		<pubDate>Tue, 08 Dec 2009 12:28:42 +0000</pubDate>
		<guid isPermaLink="false">http://codingcockerel.wordpress.com/?p=8#comment-6438</guid>
		<description>Hi James,

Thanks, the MSBuild series has been quite popular and I get the odd comment now still, even though it was written a while back.

Thanks for the link to the other article I will check that out. I hope to write a new article over Christmas revisiting MSBuild, integrating all the feedback I&#039;ve had since the original posts.</description>
		<content:encoded><![CDATA[<p>Hi James,</p>
<p>Thanks, the MSBuild series has been quite popular and I get the odd comment now still, even though it was written a while back.</p>
<p>Thanks for the link to the other article I will check that out. I hope to write a new article over Christmas revisiting MSBuild, integrating all the feedback I&#8217;ve had since the original posts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Crosswell</title>
		<link>http://codingcockerel.co.uk/2008/04/20/automating-the-build-with-msbuild-part-two/comment-page-1/#comment-6437</link>
		<dc:creator>James Crosswell</dc:creator>
		<pubDate>Tue, 08 Dec 2009 11:51:20 +0000</pubDate>
		<guid isPermaLink="false">http://codingcockerel.wordpress.com/?p=8#comment-6437</guid>
		<description>Excellent article... however there is a much simpler solution for the step of updating the configuration files:
  http://blogs.microsoft.co.il/blogs/dorony/archive/2008/01/18/easy-configuration-deployment-with-msbuild-and-the-xmlmassupdate-task.aspx

Basically the XmlMassUpdate task... means you can do everything (reading, and updating of all settings) in a single target action.</description>
		<content:encoded><![CDATA[<p>Excellent article&#8230; however there is a much simpler solution for the step of updating the configuration files:<br />
  <a href="http://blogs.microsoft.co.il/blogs/dorony/archive/2008/01/18/easy-configuration-deployment-with-msbuild-and-the-xmlmassupdate-task.aspx" rel="nofollow">http://blogs.microsoft.co.il/blogs/dorony/archive/2008/01/18/easy-configuration-deployment-with-msbuild-and-the-xmlmassupdate-task.aspx</a></p>
<p>Basically the XmlMassUpdate task&#8230; means you can do everything (reading, and updating of all settings) in a single target action.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sanjay Gadge</title>
		<link>http://codingcockerel.co.uk/2008/04/20/automating-the-build-with-msbuild-part-two/comment-page-1/#comment-78</link>
		<dc:creator>Sanjay Gadge</dc:creator>
		<pubDate>Fri, 22 Aug 2008 10:48:22 +0000</pubDate>
		<guid isPermaLink="false">http://codingcockerel.wordpress.com/?p=8#comment-78</guid>
		<description>Sorry, I forgot to convert angular brackets in earlier comment.

Following MSBuild Script Publishes web service to the Deployment directory.


&lt;?xml
version=&quot;1.0&quot;
encoding=&quot;utf-8&quot;?&gt;

&lt;Project
xmlns=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;&gt;

&lt;Import
Project=&quot;Telarix.Build.Common.Targets&quot; /&gt;

&lt;Target
Name=&quot;PublishWebAppservice&quot;&gt;

&lt;CreateProperty
Value=&quot;$(ProjectRoot)\$(ProjectName)\**\*.asmx&quot;&gt;

&lt;Output
PropertyName=&quot;AsmxFiles&quot;
TaskParameter=&quot;Value&quot;/&gt;

&lt;/CreateProperty&gt;

&lt;CreateProperty
Value=&quot;$(ProjectRoot)\$(ProjectName)\**\*.asax&quot;&gt;

&lt;Output
PropertyName=&quot;AsaxFiles&quot;
TaskParameter=&quot;Value&quot;/&gt;

&lt;/CreateProperty&gt;

&lt;CreateProperty
Value=&quot;$(ProjectRoot)\$(ProjectName)\**\web.config&quot;&gt;

&lt;Output
PropertyName=&quot;ConfigFiles&quot;
TaskParameter=&quot;Value&quot;/&gt;

&lt;/CreateProperty&gt;

&lt;CreateProperty
Value=&quot;$(ProjectRoot)\$(ProjectName)\bin\*.*&quot;&gt;

&lt;Output
PropertyName=&quot;BinaryFiles&quot;
TaskParameter=&quot;Value&quot;/&gt;

&lt;/CreateProperty&gt;


&lt;CreateItem
Include=&quot;$(AsmxFiles)&quot;&gt;

&lt;Output
TaskParameter=&quot;Include&quot;
ItemName=&quot;AsmxFilesToCopy&quot;/&gt;

&lt;/CreateItem&gt;

&lt;CreateItem
Include=&quot;$(AsaxFiles)&quot;&gt;

&lt;Output
TaskParameter=&quot;Include&quot;
ItemName=&quot;AsaxFilesToCopy&quot;/&gt;

&lt;/CreateItem&gt;

&lt;CreateItem
Include=&quot;$(ConfigFiles)&quot;&gt;

&lt;Output
TaskParameter=&quot;Include&quot;
ItemName=&quot;ConfigFilesToCopy&quot;/&gt;

&lt;/CreateItem&gt;

&lt;CreateItem
Include=&quot;$(BinaryFiles)&quot;&gt;

&lt;Output
TaskParameter=&quot;Include&quot;
ItemName=&quot;BinaryFilesToCopy&quot;/&gt;

&lt;/CreateItem&gt;


&lt;MSBuild
Projects=&quot;$(ProjectRoot)\$(ProjectName)\$(ProjectName).vbproj&quot;


Targets=&quot;Clean;Build&quot;&gt;

&lt;/MSBuild&gt;


&lt;Copy
SourceFiles=&quot;@(AsmxFilesToCopy)&quot;
DestinationFiles=&quot;@(AsmxFilesToCopy -&gt; &#039;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#039; )&quot;/&gt;

&lt;Copy
SourceFiles=&quot;@(AsaxFilesToCopy)&quot;
DestinationFiles=&quot;@(AsaxFilesToCopy -&gt; &#039;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#039; )&quot;/&gt;

&lt;Copy
SourceFiles=&quot;@(ConfigFilesToCopy)&quot;
DestinationFiles=&quot;@(ConfigFilesToCopy -&gt; &#039;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#039; )&quot;/&gt;

&lt;Copy
SourceFiles=&quot;@(BinaryFilesToCopy)&quot;
DestinationFiles=&quot;@(BinaryFilesToCopy -&gt; &#039;$(DeploymentDir)\bin\%(FileName)%(Extension)&#039; )&quot;/&gt;

&lt;/Target&gt;

&lt;/Project&gt;</description>
		<content:encoded><![CDATA[<p>Sorry, I forgot to convert angular brackets in earlier comment.</p>
<p>Following MSBuild Script Publishes web service to the Deployment directory.</p>
<p>&lt;?xml<br />
version=&#8221;1.0&#8243;<br />
encoding=&#8221;utf-8&#8243;?&gt;</p>
<p>&lt;Project<br />
xmlns=&#8221;http://schemas.microsoft.com/developer/msbuild/2003&#8243;&gt;</p>
<p>&lt;Import<br />
Project=&#8221;Telarix.Build.Common.Targets&#8221; /&gt;</p>
<p>&lt;Target<br />
Name=&#8221;PublishWebAppservice&#8221;&gt;</p>
<p>&lt;CreateProperty<br />
Value=&#8221;$(ProjectRoot)\$(ProjectName)\**\*.asmx&#8221;&gt;</p>
<p>&lt;Output<br />
PropertyName=&#8221;AsmxFiles&#8221;<br />
TaskParameter=&#8221;Value&#8221;/&gt;</p>
<p>&lt;/CreateProperty&gt;</p>
<p>&lt;CreateProperty<br />
Value=&#8221;$(ProjectRoot)\$(ProjectName)\**\*.asax&#8221;&gt;</p>
<p>&lt;Output<br />
PropertyName=&#8221;AsaxFiles&#8221;<br />
TaskParameter=&#8221;Value&#8221;/&gt;</p>
<p>&lt;/CreateProperty&gt;</p>
<p>&lt;CreateProperty<br />
Value=&#8221;$(ProjectRoot)\$(ProjectName)\**\web.config&#8221;&gt;</p>
<p>&lt;Output<br />
PropertyName=&#8221;ConfigFiles&#8221;<br />
TaskParameter=&#8221;Value&#8221;/&gt;</p>
<p>&lt;/CreateProperty&gt;</p>
<p>&lt;CreateProperty<br />
Value=&#8221;$(ProjectRoot)\$(ProjectName)\bin\*.*&#8221;&gt;</p>
<p>&lt;Output<br />
PropertyName=&#8221;BinaryFiles&#8221;<br />
TaskParameter=&#8221;Value&#8221;/&gt;</p>
<p>&lt;/CreateProperty&gt;</p>
<p>&lt;CreateItem<br />
Include=&#8221;$(AsmxFiles)&#8221;&gt;</p>
<p>&lt;Output<br />
TaskParameter=&#8221;Include&#8221;<br />
ItemName=&#8221;AsmxFilesToCopy&#8221;/&gt;</p>
<p>&lt;/CreateItem&gt;</p>
<p>&lt;CreateItem<br />
Include=&#8221;$(AsaxFiles)&#8221;&gt;</p>
<p>&lt;Output<br />
TaskParameter=&#8221;Include&#8221;<br />
ItemName=&#8221;AsaxFilesToCopy&#8221;/&gt;</p>
<p>&lt;/CreateItem&gt;</p>
<p>&lt;CreateItem<br />
Include=&#8221;$(ConfigFiles)&#8221;&gt;</p>
<p>&lt;Output<br />
TaskParameter=&#8221;Include&#8221;<br />
ItemName=&#8221;ConfigFilesToCopy&#8221;/&gt;</p>
<p>&lt;/CreateItem&gt;</p>
<p>&lt;CreateItem<br />
Include=&#8221;$(BinaryFiles)&#8221;&gt;</p>
<p>&lt;Output<br />
TaskParameter=&#8221;Include&#8221;<br />
ItemName=&#8221;BinaryFilesToCopy&#8221;/&gt;</p>
<p>&lt;/CreateItem&gt;</p>
<p>&lt;MSBuild<br />
Projects=&#8221;$(ProjectRoot)\$(ProjectName)\$(ProjectName).vbproj&#8221;</p>
<p>Targets=&#8221;Clean;Build&#8221;&gt;</p>
<p>&lt;/MSBuild&gt;</p>
<p>&lt;Copy<br />
SourceFiles=&#8221;@(AsmxFilesToCopy)&#8221;<br />
DestinationFiles=&#8221;@(AsmxFilesToCopy -&gt; &#8216;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#8217; )&#8221;/&gt;</p>
<p>&lt;Copy<br />
SourceFiles=&#8221;@(AsaxFilesToCopy)&#8221;<br />
DestinationFiles=&#8221;@(AsaxFilesToCopy -&gt; &#8216;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#8217; )&#8221;/&gt;</p>
<p>&lt;Copy<br />
SourceFiles=&#8221;@(ConfigFilesToCopy)&#8221;<br />
DestinationFiles=&#8221;@(ConfigFilesToCopy -&gt; &#8216;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#8217; )&#8221;/&gt;</p>
<p>&lt;Copy<br />
SourceFiles=&#8221;@(BinaryFilesToCopy)&#8221;<br />
DestinationFiles=&#8221;@(BinaryFilesToCopy -&gt; &#8216;$(DeploymentDir)\bin\%(FileName)%(Extension)&#8217; )&#8221;/&gt;</p>
<p>&lt;/Target&gt;</p>
<p>&lt;/Project&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sanjay Gadge</title>
		<link>http://codingcockerel.co.uk/2008/04/20/automating-the-build-with-msbuild-part-two/comment-page-1/#comment-77</link>
		<dc:creator>Sanjay Gadge</dc:creator>
		<pubDate>Fri, 22 Aug 2008 10:18:54 +0000</pubDate>
		<guid isPermaLink="false">http://codingcockerel.wordpress.com/?p=8#comment-77</guid>
		<description>I wrote a similar script. May be helpful.



  
  
    
      
    
    
      
    
    
      
    
    
      
    

    
      
    
    
      
    
    
      
    
    
      
    
   
    
    

     &#039;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#039; )&quot;/&gt;
     &#039;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#039; )&quot;/&gt;
     &#039;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#039; )&quot;/&gt;
     &#039;$(DeploymentDir)\bin\%(FileName)%(Extension)&#039; )&quot;/&gt;
  
</description>
		<content:encoded><![CDATA[<p>I wrote a similar script. May be helpful.</p>
<p>     &#8216;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#8217; )&#8221;/&gt;<br />
     &#8216;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#8217; )&#8221;/&gt;<br />
     &#8216;$(DeploymentDir)\%(RecursiveDir)%(FileName)%(Extension)&#8217; )&#8221;/&gt;<br />
     &#8216;$(DeploymentDir)\bin\%(FileName)%(Extension)&#8217; )&#8221;/&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: codingcockerel</title>
		<link>http://codingcockerel.co.uk/2008/04/20/automating-the-build-with-msbuild-part-two/comment-page-1/#comment-7</link>
		<dc:creator>codingcockerel</dc:creator>
		<pubDate>Thu, 01 May 2008 20:35:38 +0000</pubDate>
		<guid isPermaLink="false">http://codingcockerel.wordpress.com/?p=8#comment-7</guid>
		<description>Ronald,

I agree, it is a real pain! As your web site grows and you add items to it, you will keep having to amend the Publish task to make sure those new items get deployed. This is duplication of what is already in the web project file, and it would be easy for a developer to forget to maintain the build script.

If there was a way to do a proper Publish that would be so much better. Looking around the web there are plenty of other people asking the same question but I&#039;ve yet to see a clear cut answer. If I do, I will be sure to write a post about it.</description>
		<content:encoded><![CDATA[<p>Ronald,</p>
<p>I agree, it is a real pain! As your web site grows and you add items to it, you will keep having to amend the Publish task to make sure those new items get deployed. This is duplication of what is already in the web project file, and it would be easy for a developer to forget to maintain the build script.</p>
<p>If there was a way to do a proper Publish that would be so much better. Looking around the web there are plenty of other people asking the same question but I&#8217;ve yet to see a clear cut answer. If I do, I will be sure to write a post about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ronald Phillips</title>
		<link>http://codingcockerel.co.uk/2008/04/20/automating-the-build-with-msbuild-part-two/comment-page-1/#comment-6</link>
		<dc:creator>Ronald Phillips</dc:creator>
		<pubDate>Wed, 30 Apr 2008 20:02:21 +0000</pubDate>
		<guid isPermaLink="false">http://codingcockerel.wordpress.com/?p=8#comment-6</guid>
		<description>I have been going crazy trying to find a way to Publish a website after the MSBuild, so I would concur, there doesn&#039;t seem to be an obvious solution for doing this built into MSBuild.  Nor does there seem to be a Task for it. 

Pity...

I like your solution above, however, it loses some of the power of the actual Publish function in the IDE, but it could work in a pinch...</description>
		<content:encoded><![CDATA[<p>I have been going crazy trying to find a way to Publish a website after the MSBuild, so I would concur, there doesn&#8217;t seem to be an obvious solution for doing this built into MSBuild.  Nor does there seem to be a Task for it. </p>
<p>Pity&#8230;</p>
<p>I like your solution above, however, it loses some of the power of the actual Publish function in the IDE, but it could work in a pinch&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

