<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Sayed Ibrahim Hashimi - MSBuild, Web Deploy (MSDeploy), ASP.NET - SlowCheetah</title>
    <link>http://sedodream.com/</link>
    <description>MSBuild, C#, Visual Studio and more</description>
    <language>en-us</language>
    <copyright>Sayed Ibrahim Hashimi</copyright>
    <lastBuildDate>Fri, 04 Jan 2013 08:14:45 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>sayed.hashimi@gmail.com</managingEditor>
    <webMaster>sayed.hashimi@gmail.com</webMaster>
    <item>
      <trackback:ping>http://sedodream.com/Trackback.aspx?guid=2424649b-cb46-465b-a2e9-194002d00815</trackback:ping>
      <pingback:server>http://sedodream.com/pingback.aspx</pingback:server>
      <pingback:target>http://sedodream.com/PermaLink,guid,2424649b-cb46-465b-a2e9-194002d00815.aspx</pingback:target>
      <dc:creator>Ibrahim</dc:creator>
      <wfw:comment>http://sedodream.com/CommentView,guid,2424649b-cb46-465b-a2e9-194002d00815.aspx</wfw:comment>
      <wfw:commentRss>http://sedodream.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2424649b-cb46-465b-a2e9-194002d00815</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have had a number of request to get <a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5" target="_blank">SlowCheetah</a> working
for Azure Worker Roles. I think I have it working now. I have not yet released the
support to the download page yet but after the support is verified I will update the
release.
</p>
        <p>
If you would like to try out a build which has support to transform app.config, as
well as other XML files, for Azure Worker Roles you can find the VSIX at <a title="https://dl.dropbox.com/u/40134810/SlowCheetah/issue-44/SlowCheetah-issue-44.zip" href="https://dl.dropbox.com/u/40134810/SlowCheetah/issue-44/SlowCheetah-issue-44.zip">https://dl.dropbox.com/u/40134810/SlowCheetah/issue-44/SlowCheetah-issue-44.zip</a>.
After installing for worker role projects you can create XML transforms for app.config,
and any other XML file. When you publish to azure, or create a package your files
should be transformed.
</p>
        <p>
More info on this on the following issues. 
</p>
        <ul>
          <li>
            <a href="https://github.com/sayedihashimi/slow-cheetah/issues/5" target="_blank">Support
for Azure Projects</a>
          </li>
          <li>
            <a href="https://github.com/sayedihashimi/slow-cheetah/issues/44" target="_blank">Build
error for Azure Worker role if a non-app.config file is being transformed</a>
          </li>
        </ul>
        <p>
BTW if you are interested in my upcoming MSBuild book checkout <a href="http://msbuildbook.com" target="_blank">msbuildbook.com</a></p>
        <p>
Sayed Ibrahim Hashimi <a href="twitter.com/sayedihashimi" target="_blank">@SayedIHashimi</a></p>
      </body>
      <title>SlowCheetah support for Azure Worker Roles</title>
      <guid isPermaLink="false">http://sedodream.com/PermaLink,guid,2424649b-cb46-465b-a2e9-194002d00815.aspx</guid>
      <link>http://sedodream.com/2013/01/04/SlowCheetahSupportForAzureWorkerRoles.aspx</link>
      <pubDate>Fri, 04 Jan 2013 08:14:45 GMT</pubDate>
      <description>&lt;p&gt;
I have had a number of request to get &lt;a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5" target="_blank"&gt;SlowCheetah&lt;/a&gt; working
for Azure Worker Roles. I think I have it working now. I have not yet released the
support to the download page yet but after the support is verified I will update the
release.
&lt;/p&gt;
&lt;p&gt;
If you would like to try out a build which has support to transform app.config, as
well as other XML files, for Azure Worker Roles you can find the VSIX at &lt;a title="https://dl.dropbox.com/u/40134810/SlowCheetah/issue-44/SlowCheetah-issue-44.zip" href="https://dl.dropbox.com/u/40134810/SlowCheetah/issue-44/SlowCheetah-issue-44.zip"&gt;https://dl.dropbox.com/u/40134810/SlowCheetah/issue-44/SlowCheetah-issue-44.zip&lt;/a&gt;.
After installing for worker role projects you can create XML transforms for app.config,
and any other XML file. When you publish to azure, or create a package your files
should be transformed.
&lt;/p&gt;
&lt;p&gt;
More info on this on the following issues. 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/sayedihashimi/slow-cheetah/issues/5" target="_blank"&gt;Support
for Azure Projects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/sayedihashimi/slow-cheetah/issues/44" target="_blank"&gt;Build
error for Azure Worker role if a non-app.config file is being transformed&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
BTW if you are interested in my upcoming MSBuild book checkout &lt;a href="http://msbuildbook.com" target="_blank"&gt;msbuildbook.com&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Sayed Ibrahim Hashimi &lt;a href="twitter.com/sayedihashimi" target="_blank"&gt;@SayedIHashimi&lt;/a&gt;
&lt;/p&gt;</description>
      <comments>http://sedodream.com/CommentView,guid,2424649b-cb46-465b-a2e9-194002d00815.aspx</comments>
      <category>azure</category>
      <category>SlowCheetah</category>
    </item>
    <item>
      <trackback:ping>http://sedodream.com/Trackback.aspx?guid=fd568258-2b8a-4932-84e2-c49f0da0c23a</trackback:ping>
      <pingback:server>http://sedodream.com/pingback.aspx</pingback:server>
      <pingback:target>http://sedodream.com/PermaLink,guid,fd568258-2b8a-4932-84e2-c49f0da0c23a.aspx</pingback:target>
      <dc:creator>Ibrahim</dc:creator>
      <wfw:comment>http://sedodream.com/CommentView,guid,fd568258-2b8a-4932-84e2-c49f0da0c23a.aspx</wfw:comment>
      <wfw:commentRss>http://sedodream.com/SyndicationService.asmx/GetEntryCommentsRss?guid=fd568258-2b8a-4932-84e2-c49f0da0c23a</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A while back I blogged about how to setup <a href="http://sedodream.com/2011/12/12/SlowCheetahXMLTransformsFromACIServer.aspx" target="_blank">SlowCheetah
on a Build server</a>. The solution was good but it was a bit unwieldy and error prone,
especially those who are not comfortable with MSBuild (<em>this solution still works
and is still a good approach for some scenarios</em>). I’ve made this much easier,
but wasn’t able to make it as easy as what I wanted. The solution that I choose is
using NuGet. Ideally you’d be able to install the SlowCheetah NuGet package into a
project, enable package restore and the check in your code. Unfortunately due to how
NuGet package restore is implemented this flow is not currently possible. Hopefully
in the near future Nuget will better support these scenarios. For now we will have
to work with the solution below.
</p>
        <h3>Background
</h3>
        <p>
The transformations are executed when your project is built. The way that this works
is that when you use the SlowCheetah VS add-in to enable transformations, your project
file is modified to import an additional MSBuild .targets file which knows how to
do the transformations. This .targets file is placed in your <em>%localappdata%</em> folder.
When you add the SlowCheetah NuGet package to your project, the .targets file (<em>and
supporting files</em>) are downloaded to the <em>packages</em> folder. Your project
is also modified to look at the packages folder for the .targets file which is imported.
</p>
        <p>
For build server scenarios, when using NuGet for this it’s a bit of a chicken and
egg problem. Let me clarify, we are using NuGet to update the build process for your
project. If a solution is using NuGet, you will need to enable <a href="http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages" target="_blank">NuGet
Package Restore</a>. This is what will enable your NuGet packages to be download <strong><u>during</u></strong>build.
</p>
        <p>
          <img src="http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2006/05/26/chicken192.jpg" />
        </p>
        <p>
Package Restore is implemented to restore NuGet packages for each project whenever
it is built. This is accomplished by adding an Import into your project to NuGet.targets.
This works beautiful for the majority of cases, but fails completely if you are trying
to update the build process for a given project with NuGet. When the build for a project <strong><u>starts</u></strong> if
the the imported .targets file do not exist on disk they are not imported. You can
visualize this flow as.
</p>
        <p>
          <a href="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/image_10.png">
            <img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/image_thumb_4.png" width="604" height="106" />
          </a>
        </p>
        <p>
We need to find a way to get the packages restored, before your project is built.
We can achieve this by executing a build which will be used to simply restore our
packages. Now let’s see how we can workaround this issue.
</p>
        <h2>Solution
</h2>
        <p>
We need to find a way to restore the packages before the project is built. The easiest
way to do this is to add a dummy solution to be built before your actual solution/project.
Follow these steps.
</p>
        <p>
1. <strong>Install the SlowCheetah NuGet package into the project using SlowCheetah.</strong></p>
        <p>
You can do this by using the Package Manager Console, and executing the command <font face="Courier">Install-Package
SlowCheetah –pre</font>. Note: after the package is released you can remove the <font face="Courier">–pre</font>.
</p>
        <p>
          <strong>2. Enable Package Restore for the solution</strong>
        </p>
        <p>
You can do this by right clicking on the solution and selecting Enable NuGet Package
Restore.
</p>
        <p>
          <strong>3. Configure build server to build restorePackage.proj before your solution</strong>
        </p>
        <p>
As described we need a new solution that can be used to restore the required packages.
When you install SlowCheetah it will automatically create a <font face="Courier">packageRestore.proj</font> file
in the root of your project. You can use this to easily restore your NuGet packages.
All you need to do is to build this file before you build your solution or build script.
If you are using Team Build this is pretty easy. Edit the build definition and then
add <font face="Courier">packageRestore.proj</font> to the Items to Build list. You
can find this on the Process tab. 
</p>
        <p>
          <a href="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/image_2.png">
            <img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/image_thumb.png" width="644" height="362" />
          </a>
        </p>
        <p>
 
</p>
        <p>
Make sure that <font face="Courier">packageRestore.proj</font> is above (built before)
your solution.
</p>
        <p>
          <a href="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/SNAGHTML158ea083.png">
            <img title="SNAGHTML158ea083" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="SNAGHTML158ea083" src="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/SNAGHTML158ea083_thumb.png" width="601" height="533" />
          </a>
        </p>
        <p>
With these changes when the empty solution is built, it will restore the SlowCheetah
.targets file. Then the target solution will be built, the .targets file will already
be downloaded and your transforms will execute as needed.
</p>
        <p>
I will work with the NuGet team to see if there is something better that can be done
here. I will keep you all posted if there is any update.I would love if you tried
out this new support and let me know if you have any issues with it.
</p>
        <p>
Sayed Ibrahim Hashimi | <a href="http://twitter.com/sayedihashimi" target="_blank">@SayedIHashimi</a></p>
      </body>
      <title>SlowCheetah build server support updated</title>
      <guid isPermaLink="false">http://sedodream.com/PermaLink,guid,fd568258-2b8a-4932-84e2-c49f0da0c23a.aspx</guid>
      <link>http://sedodream.com/2012/12/24/SlowCheetahBuildServerSupportUpdated.aspx</link>
      <pubDate>Mon, 24 Dec 2012 21:37:24 GMT</pubDate>
      <description>&lt;p&gt;
A while back I blogged about how to setup &lt;a href="http://sedodream.com/2011/12/12/SlowCheetahXMLTransformsFromACIServer.aspx" target="_blank"&gt;SlowCheetah
on a Build server&lt;/a&gt;. The solution was good but it was a bit unwieldy and error prone,
especially those who are not comfortable with MSBuild (&lt;em&gt;this solution still works
and is still a good approach for some scenarios&lt;/em&gt;). I’ve made this much easier,
but wasn’t able to make it as easy as what I wanted. The solution that I choose is
using NuGet. Ideally you’d be able to install the SlowCheetah NuGet package into a
project, enable package restore and the check in your code. Unfortunately due to how
NuGet package restore is implemented this flow is not currently possible. Hopefully
in the near future Nuget will better support these scenarios. For now we will have
to work with the solution below.
&lt;/p&gt;
&lt;h3&gt;Background
&lt;/h3&gt;
&lt;p&gt;
The transformations are executed when your project is built. The way that this works
is that when you use the SlowCheetah VS add-in to enable transformations, your project
file is modified to import an additional MSBuild .targets file which knows how to
do the transformations. This .targets file is placed in your &lt;em&gt;%localappdata%&lt;/em&gt; folder.
When you add the SlowCheetah NuGet package to your project, the .targets file (&lt;em&gt;and
supporting files&lt;/em&gt;) are downloaded to the &lt;em&gt;packages&lt;/em&gt; folder. Your project
is also modified to look at the packages folder for the .targets file which is imported.
&lt;/p&gt;
&lt;p&gt;
For build server scenarios, when using NuGet for this it’s a bit of a chicken and
egg problem. Let me clarify, we are using NuGet to update the build process for your
project. If a solution is using NuGet, you will need to enable &lt;a href="http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages" target="_blank"&gt;NuGet
Package Restore&lt;/a&gt;. This is what will enable your NuGet packages to be download &lt;strong&gt;&lt;u&gt;during&lt;/u&gt; &lt;/strong&gt;build.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2006/05/26/chicken192.jpg" /&gt;
&lt;/p&gt;
&lt;p&gt;
Package Restore is implemented to restore NuGet packages for each project whenever
it is built. This is accomplished by adding an Import into your project to NuGet.targets.
This works beautiful for the majority of cases, but fails completely if you are trying
to update the build process for a given project with NuGet. When the build for a project &lt;strong&gt;&lt;u&gt;starts&lt;/u&gt;&lt;/strong&gt; if
the the imported .targets file do not exist on disk they are not imported. You can
visualize this flow as.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/image_10.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/image_thumb_4.png" width="604" height="106" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
We need to find a way to get the packages restored, before your project is built.
We can achieve this by executing a build which will be used to simply restore our
packages. Now let’s see how we can workaround this issue.
&lt;/p&gt;
&lt;h2&gt;Solution
&lt;/h2&gt;
&lt;p&gt;
We need to find a way to restore the packages before the project is built. The easiest
way to do this is to add a dummy solution to be built before your actual solution/project.
Follow these steps.
&lt;/p&gt;
&lt;p&gt;
1. &lt;strong&gt;Install the SlowCheetah NuGet package into the project using SlowCheetah.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
You can do this by using the Package Manager Console, and executing the command &lt;font face="Courier"&gt;Install-Package
SlowCheetah –pre&lt;/font&gt;. Note: after the package is released you can remove the &lt;font face="Courier"&gt;–pre&lt;/font&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;2. Enable Package Restore for the solution&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
You can do this by right clicking on the solution and selecting Enable NuGet Package
Restore.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;3. Configure build server to build restorePackage.proj before your solution&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
As described we need a new solution that can be used to restore the required packages.
When you install SlowCheetah it will automatically create a &lt;font face="Courier"&gt;packageRestore.proj&lt;/font&gt; file
in the root of your project. You can use this to easily restore your NuGet packages.
All you need to do is to build this file before you build your solution or build script.
If you are using Team Build this is pretty easy. Edit the build definition and then
add &lt;font face="Courier"&gt;packageRestore.proj&lt;/font&gt; to the Items to Build list. You
can find this on the Process tab. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/image_2.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/image_thumb.png" width="644" height="362" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Make sure that &lt;font face="Courier"&gt;packageRestore.proj&lt;/font&gt; is above (built before)
your solution.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/SNAGHTML158ea083.png"&gt;&lt;img title="SNAGHTML158ea083" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="SNAGHTML158ea083" src="http://sedodream.com/content/binary/WindowsLiveWriter/SlowCheetahbuildserversupportupdated_A5E4/SNAGHTML158ea083_thumb.png" width="601" height="533" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
With these changes when the empty solution is built, it will restore the SlowCheetah
.targets file. Then the target solution will be built, the .targets file will already
be downloaded and your transforms will execute as needed.
&lt;/p&gt;
&lt;p&gt;
I will work with the NuGet team to see if there is something better that can be done
here. I will keep you all posted if there is any update.I would love if you tried
out this new support and let me know if you have any issues with it.
&lt;/p&gt;
&lt;p&gt;
Sayed Ibrahim Hashimi | &lt;a href="http://twitter.com/sayedihashimi" target="_blank"&gt;@SayedIHashimi&lt;/a&gt;
&lt;/p&gt;</description>
      <comments>http://sedodream.com/CommentView,guid,fd568258-2b8a-4932-84e2-c49f0da0c23a.aspx</comments>
      <category>SlowCheetah</category>
      <category>Visual Studio 2010</category>
      <category>Visual Studio 2012</category>
    </item>
    <item>
      <trackback:ping>http://sedodream.com/Trackback.aspx?guid=0fd3cdd0-b6e9-4fbd-accc-520cbb0c46b1</trackback:ping>
      <pingback:server>http://sedodream.com/pingback.aspx</pingback:server>
      <pingback:target>http://sedodream.com/PermaLink,guid,0fd3cdd0-b6e9-4fbd-accc-520cbb0c46b1.aspx</pingback:target>
      <dc:creator>Ibrahim</dc:creator>
      <wfw:comment>http://sedodream.com/CommentView,guid,0fd3cdd0-b6e9-4fbd-accc-520cbb0c46b1.aspx</wfw:comment>
      <wfw:commentRss>http://sedodream.com/SyndicationService.asmx/GetEntryCommentsRss?guid=0fd3cdd0-b6e9-4fbd-accc-520cbb0c46b1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">I jus released a new version of <a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5">SlowCheetah</a>,
my Visual Studio extension which enables you to transform app.config, and other XML
files, during F5 for non-web projects. In this update I added support for Visual Studio
2012 as well as the bug fixes below. 
<ol><li>
Fix for <a href="https://github.com/sayedihashimi/slow-cheetah/issues/21">Preview
command doesn't show up for all web.config transforms</a></li><li>
Fix for <a href="https://github.com/sayedihashimi/slow-cheetah/issues/19">XML transforms
not working with Azure SDK</a></li><li>
Fix for <a href="https://github.com/sayedihashimi/slow-cheetah/issues/19">XML transforms
not working with Azure SDK</a></li><li>
Fix for <a href="https://github.com/sayedihashimi/slow-cheetah/issues/16">.config
files do no transform in VS 2012 RC</a></li><li>
Fix for <a href="https://github.com/sayedihashimi/slow-cheetah/issues/14">In web project,
project File gets modified while adding transformation</a></li><li>
Fix for <a href="https://github.com/sayedihashimi/slow-cheetah/issues/13">Add Transform
should not show up for .settings files</a></li><li>
Fix for <a href="https://github.com/sayedihashimi/slow-cheetah/issues/12">Transforms
should be added as None</a></li></ol><p>
If you are interested in the project you can take a look at the code at <a title="https://github.com/sayedihashimi/slow-cheetah" href="https://github.com/sayedihashimi/slow-cheetah">https://github.com/sayedihashimi/slow-cheetah</a> and
if you have any issues please file a bug at <a title="https://github.com/sayedihashimi/slow-cheetah/issues" href="https://github.com/sayedihashimi/slow-cheetah/issues">https://github.com/sayedihashimi/slow-cheetah/issues</a>.
</p><p>
 
</p><p>
Thanks, 
<br />
Sayed Ibrahim Hashimi | <a href="https://twitter.com/sayedihashimi">@SayedIHashimi</a></p><ol></ol></body>
      <title>SlowCheetah v2.4 Released</title>
      <guid isPermaLink="false">http://sedodream.com/PermaLink,guid,0fd3cdd0-b6e9-4fbd-accc-520cbb0c46b1.aspx</guid>
      <link>http://sedodream.com/2012/08/16/SlowCheetahV24Released.aspx</link>
      <pubDate>Thu, 16 Aug 2012 00:54:26 GMT</pubDate>
      <description>I jus released a new version of &lt;a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5"&gt;SlowCheetah&lt;/a&gt;,
my Visual Studio extension which enables you to transform app.config, and other XML
files, during F5 for non-web projects. In this update I added support for Visual Studio
2012 as well as the bug fixes below. 
&lt;ol&gt;
&lt;li&gt;
Fix for &lt;a href="https://github.com/sayedihashimi/slow-cheetah/issues/21"&gt;Preview
command doesn't show up for all web.config transforms&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
Fix for &lt;a href="https://github.com/sayedihashimi/slow-cheetah/issues/19"&gt;XML transforms
not working with Azure SDK&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
Fix for &lt;a href="https://github.com/sayedihashimi/slow-cheetah/issues/19"&gt;XML transforms
not working with Azure SDK&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
Fix for &lt;a href="https://github.com/sayedihashimi/slow-cheetah/issues/16"&gt;.config
files do no transform in VS 2012 RC&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
Fix for &lt;a href="https://github.com/sayedihashimi/slow-cheetah/issues/14"&gt;In web project,
project File gets modified while adding transformation&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
Fix for &lt;a href="https://github.com/sayedihashimi/slow-cheetah/issues/13"&gt;Add Transform
should not show up for .settings files&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
Fix for &lt;a href="https://github.com/sayedihashimi/slow-cheetah/issues/12"&gt;Transforms
should be added as None&lt;/a&gt; 
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
If you are interested in the project you can take a look at the code at &lt;a title="https://github.com/sayedihashimi/slow-cheetah" href="https://github.com/sayedihashimi/slow-cheetah"&gt;https://github.com/sayedihashimi/slow-cheetah&lt;/a&gt; and
if you have any issues please file a bug at &lt;a title="https://github.com/sayedihashimi/slow-cheetah/issues" href="https://github.com/sayedihashimi/slow-cheetah/issues"&gt;https://github.com/sayedihashimi/slow-cheetah/issues&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Thanks, 
&lt;br /&gt;
Sayed Ibrahim Hashimi | &lt;a href="https://twitter.com/sayedihashimi"&gt;@SayedIHashimi&lt;/a&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;/ol&gt;</description>
      <comments>http://sedodream.com/CommentView,guid,0fd3cdd0-b6e9-4fbd-accc-520cbb0c46b1.aspx</comments>
      <category>SlowCheetah</category>
      <category>Visual Studio</category>
      <category>Visual Studio 11</category>
      <category>Visual Studio 2010</category>
      <category>Visual Studio 2012</category>
    </item>
    <item>
      <trackback:ping>http://sedodream.com/Trackback.aspx?guid=29cd1683-c186-40dc-bbf1-6e9beac0353b</trackback:ping>
      <pingback:server>http://sedodream.com/pingback.aspx</pingback:server>
      <pingback:target>http://sedodream.com/PermaLink,guid,29cd1683-c186-40dc-bbf1-6e9beac0353b.aspx</pingback:target>
      <dc:creator>Ibrahim</dc:creator>
      <wfw:comment>http://sedodream.com/CommentView,guid,29cd1683-c186-40dc-bbf1-6e9beac0353b.aspx</wfw:comment>
      <wfw:commentRss>http://sedodream.com/SyndicationService.asmx/GetEntryCommentsRss?guid=29cd1683-c186-40dc-bbf1-6e9beac0353b</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://sedodream.com/content/binary/Windows-Live-Writer/SlowCheetah-updated_14D5F/image_2.png">
          <img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: left; padding-top: 0px; padding-left: 0px; margin: 0px 10px 5px 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" align="left" src="http://sedodream.com/content/binary/Windows-Live-Writer/SlowCheetah-updated_14D5F/image_thumb.png" width="124" height="124" />
        </a>
        <p>
Wanted to let you know that I just released v2.3 of my Visual Studio extension <a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5">SlowCheetah</a>.
If you are not familiar with SlowCheetah here is an intro. For client projects (i.e.
non-web projects) it allows you to transform the app.config (or any XML file) on F5
(debug) or CTRL + F5, it also has a preview functionality which allows you to see
the results of the transform quickly. For Web Projects it allows you to transform
XML files during package/publish (and of course the preview functionality works in
web projects too). The transform behavior is all in MSBuild targets/tasks so command
line support is built in. It’s also easy to <a href="http://sedodream.com/2011/12/12/SlowCheetahXMLTransformsFromACIServer.aspx">integrate
SlowCheetah into CI servers</a>.
</p>
        <p>
Below are the updates that we have in v2.3.
</p>
        <p>
          <strong>
            <u>Preview support in VS 11 
<br /></u>
          </strong>In the previous version we added support for VS 11 but the preview functionality
didn’t work because the preview tool we used in VS 2010 didn’t exist in VS 11. VS
11 now has a new diffing tool and in this version we now support invoking this new
service.
</p>
        <p>
          <strong>
            <u>ClickOnce related updates</u>
          </strong>
        </p>
        <p>
ClickOnce support was added in a previous version but the support was limited to app.config.
In this version when you publish an application using ClickOnce if you have transforms
in any other XML file defined those transforms will be applied and published.
</p>
        <p>
          <strong>
            <u>Setup projects updates 
<br /></u>
          </strong>Similar to ClickOnce the support for setup projects was limited to app.config
only. In this version we now have support for all XML files not just app.config. There
was also a bug in the previous version relating to setup projects. For setup projects
if a file was being transformed from a linked file when you built the solution you
would receive an error. We have fixed that bug.
</p>
        <p>
          <br />
Sayed Ibrahim Hashimi <a href="http://twitter.com/sayedihashimi">@SayedIHashimi</a></p>
      </body>
      <title>SlowCheetah updated</title>
      <guid isPermaLink="false">http://sedodream.com/PermaLink,guid,29cd1683-c186-40dc-bbf1-6e9beac0353b.aspx</guid>
      <link>http://sedodream.com/2012/05/24/SlowCheetahUpdated.aspx</link>
      <pubDate>Thu, 24 May 2012 07:18:22 GMT</pubDate>
      <description>&lt;a href="http://sedodream.com/content/binary/Windows-Live-Writer/SlowCheetah-updated_14D5F/image_2.png"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: left; padding-top: 0px; padding-left: 0px; margin: 0px 10px 5px 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" align="left" src="http://sedodream.com/content/binary/Windows-Live-Writer/SlowCheetah-updated_14D5F/image_thumb.png" width="124" height="124" /&gt;&lt;/a&gt; 
&lt;p&gt;
Wanted to let you know that I just released v2.3 of my Visual Studio extension &lt;a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5"&gt;SlowCheetah&lt;/a&gt;.
If you are not familiar with SlowCheetah here is an intro. For client projects (i.e.
non-web projects) it allows you to transform the app.config (or any XML file) on F5
(debug) or CTRL + F5, it also has a preview functionality which allows you to see
the results of the transform quickly. For Web Projects it allows you to transform
XML files during package/publish (and of course the preview functionality works in
web projects too). The transform behavior is all in MSBuild targets/tasks so command
line support is built in. It’s also easy to &lt;a href="http://sedodream.com/2011/12/12/SlowCheetahXMLTransformsFromACIServer.aspx"&gt;integrate
SlowCheetah into CI servers&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Below are the updates that we have in v2.3.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;u&gt;Preview support in VS 11 
&lt;br /&gt;
&lt;/u&gt;&lt;/strong&gt;In the previous version we added support for VS 11 but the preview functionality
didn’t work because the preview tool we used in VS 2010 didn’t exist in VS 11. VS
11 now has a new diffing tool and in this version we now support invoking this new
service.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;u&gt;ClickOnce related updates&lt;/u&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
ClickOnce support was added in a previous version but the support was limited to app.config.
In this version when you publish an application using ClickOnce if you have transforms
in any other XML file defined those transforms will be applied and published.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;u&gt;Setup projects updates 
&lt;br /&gt;
&lt;/u&gt;&lt;/strong&gt;Similar to ClickOnce the support for setup projects was limited to app.config
only. In this version we now have support for all XML files not just app.config. There
was also a bug in the previous version relating to setup projects. For setup projects
if a file was being transformed from a linked file when you built the solution you
would receive an error. We have fixed that bug.
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
Sayed Ibrahim Hashimi &lt;a href="http://twitter.com/sayedihashimi"&gt;@SayedIHashimi&lt;/a&gt;
&lt;/p&gt;</description>
      <comments>http://sedodream.com/CommentView,guid,29cd1683-c186-40dc-bbf1-6e9beac0353b.aspx</comments>
      <category>SlowCheetah</category>
    </item>
    <item>
      <trackback:ping>http://sedodream.com/Trackback.aspx?guid=c2bf4342-0153-4f4f-aefe-15abb73f400f</trackback:ping>
      <pingback:server>http://sedodream.com/pingback.aspx</pingback:server>
      <pingback:target>http://sedodream.com/PermaLink,guid,c2bf4342-0153-4f4f-aefe-15abb73f400f.aspx</pingback:target>
      <dc:creator>Ibrahim</dc:creator>
      <wfw:comment>http://sedodream.com/CommentView,guid,c2bf4342-0153-4f4f-aefe-15abb73f400f.aspx</wfw:comment>
      <wfw:commentRss>http://sedodream.com/SyndicationService.asmx/GetEntryCommentsRss?guid=c2bf4342-0153-4f4f-aefe-15abb73f400f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In case you are not familiar with <a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5">SlowCheetah</a>,
it is a Visual Studio extension which allows you to transform app.config files in
the same way that web.config files are. More info on the project page <a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5">http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5</a>.
</p>
        <p>
I wanted to let everyone know that I have updated <a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5">SlowCheetah</a> to
support Visual Studio 11 and I have also placed the project on github at <a href="https://github.com/sayedihashimi/slow-cheetah">https://github.com/sayedihashimi/slow-cheetah</a>.
Regarding the VS 11 support there is one known issue that we currently <a href="https://github.com/sayedihashimi/slow-cheetah/issues/1">do
not support the preview functionality on VS 11</a>. This is an item which we will
be fixing for the next release.
</p>
        <p>
 
</p>
        <p>
Thanks, 
<br />
Sayed Ibrahim Hashimi <a href="http://twitter.com/sayedihashimi">@SayedIHashimi</a></p>
        <p>
          <em>Reminder: even though I work for Microsoft this is a personal project and not
formally affiliated with Microsoft</em>
        </p>
      </body>
      <title>SlowCheetah VS 11 support and now on github</title>
      <guid isPermaLink="false">http://sedodream.com/PermaLink,guid,c2bf4342-0153-4f4f-aefe-15abb73f400f.aspx</guid>
      <link>http://sedodream.com/2012/04/27/SlowCheetahVS11SupportAndNowOnGithub.aspx</link>
      <pubDate>Fri, 27 Apr 2012 18:52:02 GMT</pubDate>
      <description>&lt;p&gt;
In case you are not familiar with &lt;a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5"&gt;SlowCheetah&lt;/a&gt;,
it is a Visual Studio extension which allows you to transform app.config files in
the same way that web.config files are. More info on the project page &lt;a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5"&gt;http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I wanted to let everyone know that I have updated &lt;a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5"&gt;SlowCheetah&lt;/a&gt; to
support Visual Studio 11 and I have also placed the project on github at &lt;a href="https://github.com/sayedihashimi/slow-cheetah"&gt;https://github.com/sayedihashimi/slow-cheetah&lt;/a&gt;.
Regarding the VS 11 support there is one known issue that we currently &lt;a href="https://github.com/sayedihashimi/slow-cheetah/issues/1"&gt;do
not support the preview functionality on VS 11&lt;/a&gt;. This is an item which we will
be fixing for the next release.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Thanks, 
&lt;br /&gt;
Sayed Ibrahim Hashimi &lt;a href="http://twitter.com/sayedihashimi"&gt;@SayedIHashimi&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Reminder: even though I work for Microsoft this is a personal project and not
formally affiliated with Microsoft&lt;/em&gt;
&lt;/p&gt;</description>
      <comments>http://sedodream.com/CommentView,guid,c2bf4342-0153-4f4f-aefe-15abb73f400f.aspx</comments>
      <category>MSBuild</category>
      <category>SlowCheetah</category>
      <category>Visual Studio 11</category>
      <category>Visual Studio 2010</category>
    </item>
    <item>
      <trackback:ping>http://sedodream.com/Trackback.aspx?guid=c0fa850a-7563-40de-a61a-c7501e28cd9f</trackback:ping>
      <pingback:server>http://sedodream.com/pingback.aspx</pingback:server>
      <pingback:target>http://sedodream.com/PermaLink,guid,c0fa850a-7563-40de-a61a-c7501e28cd9f.aspx</pingback:target>
      <dc:creator>Ibrahim</dc:creator>
      <wfw:comment>http://sedodream.com/CommentView,guid,c0fa850a-7563-40de-a61a-c7501e28cd9f.aspx</wfw:comment>
      <wfw:commentRss>http://sedodream.com/SyndicationService.asmx/GetEntryCommentsRss?guid=c0fa850a-7563-40de-a61a-c7501e28cd9f</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <strong>Please read my updated post, the info below is no longer required for some
scenarios <a href="http://sedodream.com/2012/12/24/SlowCheetahBuildServerSupportUpdated.aspx" target="_blank">SlowCheetah
build server support updated 
</a></strong>
        <p>
A few months ago I published a Visual Studio add-in, <a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5" target="_blank">SlowCheetah
– XML Transforms</a>, which enables you to transform any XML file during a build in
the same way that you can transform the web.config during publish/package for web
projects. Since then I’ve received numerous requests to demonstrate how the transforms
can be kicked in from a CI server. It’s actually pretty easy because all the logic
from a transform perspective is contained inside of MSBuild tasks/targets. The Visual
Studio add-in itself is only delivering the support for gestures/preview.
</p>
        <p>
Before I dive into how to enable this for a CI server let me explain how the plugin
works and then the CI integration will be come much clearer. When you load a project/solution
in Visual Studio for the first time after you installed SlowCheetah a set of files
will be written to %localappdata%\Microsoft\MSBuild\SlowCheetah\v1. Those file are:
</p>
        <p>
 
</p>
        <table border="0" cellspacing="0" cellpadding="2" width="774">
          <tbody>
            <tr>
              <td valign="top" width="258">
                <p align="center">
                  <strong>Name</strong>
                </p>
              </td>
              <td valign="top" width="514">
                <p align="center">
                  <strong>Description</strong>
                </p>
              </td>
            </tr>
            <tr>
              <td valign="top" width="258">
Install-Manifest.xml</td>
              <td valign="top" width="514">
An XML file which describes the files that are installed. This is used by the plugin
itself, you should never have to do anything with this file.</td>
            </tr>
            <tr>
              <td valign="top" width="258">
SlowCheetah.Tasks.dll</td>
              <td valign="top" width="514">
The assembly which contains the MSBuild task which transforms XML files.</td>
            </tr>
            <tr>
              <td valign="top" width="258">
SlowCheetah.Transforms.targets</td>
              <td valign="top" width="514">
The MSBuild file which enables XML file transformation</td>
            </tr>
          </tbody>
        </table>
        <p>
 
</p>
        <p>
The add-in adds the following menu command to any XML file for supported project types.
</p>
        <p>
          <a href="http://sedodream.com/content/binary/Windows-Live-Writer/S_121C9/image_2.png">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sedodream.com/content/binary/Windows-Live-Writer/S_121C9/image_thumb.png" width="359" height="144" />
          </a>
        </p>
        <p>
When you click on this for the first time the add-in needs to make some changes to
your project file so you are prompted to accept that. After you do the following changes
are applied to your project file.
</p>
        <ol>
          <li>
A new MSBuild property SlowCheetahTargets is added to the project and it points to
the SlowCheetah.transforms.targets file in %localappdata%</li>
          <li>
An import for that file is added</li>
        </ol>
        <p>
More specifically the elements added to your project file are.
</p>
        <pre class="brush: xml;">&lt;PropertyGroup&gt;
  &lt;SlowCheetahTargets Condition=" '$(SlowCheetahTargets)'=='' "&gt;$(LOCALAPPDATA)\Microsoft\MSBuild\SlowCheetah\v1\SlowCheetah.Transforms.targets&lt;/SlowCheetahTargets&gt;
&lt;/PropertyGroup&gt;

&lt;Import Project="$(SlowCheetahTargets)" Condition="Exists('$(SlowCheetahTargets)')" /&gt;</pre>
        <p>
          <em>Note: If you look at your project file they will not be next to each other. The
property will be towards the top of the project file and the import towards the bottom.</em>
        </p>
        <p>
So now you might have an idea of why this won’t work on your CI server, the file SlowCheetah.Transforms.targets
will not exist in the %localappdata% folder. There is an easy to way to fix this which
doesn’t require any changes to your CI server. Check in the files and update your
import. Here is what I did:
</p>
        <ol>
          <li>
Create a folder named SlowCheetah in the same folder as my solution</li>
          <li>
Added SlowCheetah.Tasks.dll and SlowCheetah.Transforms.targets to that folder</li>
          <li>
Create a solution folder named SlowCheetah in the solution</li>
          <li>
Drag and drop the files from your SlowCheetah folder into the SolutionFolder</li>
          <li>
Updated my project file to point to these files</li>
        </ol>
        <p>
Now your solution should look roughly like the following image.
</p>
        <p>
          <a href="http://sedodream.com/content/binary/Windows-Live-Writer/S_121C9/image_4.png">
            <img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sedodream.com/content/binary/Windows-Live-Writer/S_121C9/image_thumb_1.png" width="285" height="116" />
          </a>
        </p>
        <p>
          <em>Note: Steps #3/#4 are not strictly required</em>
        </p>
        <p>
For #5 you’ll have to edit your project file, don’t worry its an easy modification.
Just follow these steps:
</p>
        <ol>
          <li>
Right click on the project and select unload</li>
          <li>
Right click on the unloaded project and select Edit</li>
          <li>
Update the value for the SlowCheetahTargets import</li>
        </ol>
        <p>
In my case the folder that I placed the files into is 1 directory above the project
itself. So the new value for the property is as follows.
</p>
        <pre class="brush: xml;">&lt;SlowCheetahTargets&gt;$(MSBuildProjectDirectory)\..\SlowCheetah\SlowCheetah.Transforms.targets&lt;/SlowCheetahTargets&gt;</pre>
        <p>
After that I checked in all the files, kicked off a build and viola the files are
transformed. Let me know if you need any more info. 
<br /></p>
        <p>
Sayed Ibrahim Hashimi – <a href="http://twitter.com/sayedihashimi" target="_blank">@SayedIHashimi</a></p>
        <p>
          <em>Note: I work for Microsoft, but these are my own opinions</em>
        </p>
      </body>
      <title>SlowCheetah XML transforms from a CI server</title>
      <guid isPermaLink="false">http://sedodream.com/PermaLink,guid,c0fa850a-7563-40de-a61a-c7501e28cd9f.aspx</guid>
      <link>http://sedodream.com/2011/12/12/SlowCheetahXMLTransformsFromACIServer.aspx</link>
      <pubDate>Mon, 12 Dec 2011 05:02:42 GMT</pubDate>
      <description>
        &lt;strong&gt;Please read my updated post, the info below is no longer required
for some scenarios &lt;a href="http://sedodream.com/2012/12/24/SlowCheetahBuildServerSupportUpdated.aspx" target="_blank"&gt;SlowCheetah
build server support updated 
&lt;/strong&gt; 
&lt;p&gt;
A few months ago I published a Visual Studio add-in, &lt;a href="http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5" target="_blank"&gt;SlowCheetah
– XML Transforms&lt;/a&gt;, which enables you to transform any XML file during a build in
the same way that you can transform the web.config during publish/package for web
projects. Since then I’ve received numerous requests to demonstrate how the transforms
can be kicked in from a CI server. It’s actually pretty easy because all the logic
from a transform perspective is contained inside of MSBuild tasks/targets. The Visual
Studio add-in itself is only delivering the support for gestures/preview.
&lt;/p&gt;
&lt;p&gt;
Before I dive into how to enable this for a CI server let me explain how the plugin
works and then the CI integration will be come much clearer. When you load a project/solution
in Visual Studio for the first time after you installed SlowCheetah a set of files
will be written to %localappdata%\Microsoft\MSBuild\SlowCheetah\v1. Those file are:
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" width="774"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="258"&gt;
&lt;p align="center"&gt;
&lt;strong&gt;Name&lt;/strong&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" width="514"&gt;
&lt;p align="center"&gt;
&lt;strong&gt;Description&lt;/strong&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="258"&gt;
Install-Manifest.xml&lt;/td&gt;
&lt;td valign="top" width="514"&gt;
An XML file which describes the files that are installed. This is used by the plugin
itself, you should never have to do anything with this file.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="258"&gt;
SlowCheetah.Tasks.dll&lt;/td&gt;
&lt;td valign="top" width="514"&gt;
The assembly which contains the MSBuild task which transforms XML files.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="258"&gt;
SlowCheetah.Transforms.targets&lt;/td&gt;
&lt;td valign="top" width="514"&gt;
The MSBuild file which enables XML file transformation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
The add-in adds the following menu command to any XML file for supported project types.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://sedodream.com/content/binary/Windows-Live-Writer/S_121C9/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sedodream.com/content/binary/Windows-Live-Writer/S_121C9/image_thumb.png" width="359" height="144" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
When you click on this for the first time the add-in needs to make some changes to
your project file so you are prompted to accept that. After you do the following changes
are applied to your project file.
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
A new MSBuild property SlowCheetahTargets is added to the project and it points to
the SlowCheetah.transforms.targets file in %localappdata%&lt;/li&gt;
&lt;li&gt;
An import for that file is added&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
More specifically the elements added to your project file are.
&lt;/p&gt;
&lt;pre class="brush: xml;"&gt;&amp;lt;PropertyGroup&amp;gt;
  &amp;lt;SlowCheetahTargets Condition=&amp;quot; '$(SlowCheetahTargets)'=='' &amp;quot;&amp;gt;$(LOCALAPPDATA)\Microsoft\MSBuild\SlowCheetah\v1\SlowCheetah.Transforms.targets&amp;lt;/SlowCheetahTargets&amp;gt;
&amp;lt;/PropertyGroup&amp;gt;

&amp;lt;Import Project=&amp;quot;$(SlowCheetahTargets)&amp;quot; Condition=&amp;quot;Exists('$(SlowCheetahTargets)')&amp;quot; /&amp;gt;&lt;/pre&gt;
&lt;p&gt;
&lt;em&gt;Note: If you look at your project file they will not be next to each other. The
property will be towards the top of the project file and the import towards the bottom.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
So now you might have an idea of why this won’t work on your CI server, the file SlowCheetah.Transforms.targets
will not exist in the %localappdata% folder. There is an easy to way to fix this which
doesn’t require any changes to your CI server. Check in the files and update your
import. Here is what I did:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Create a folder named SlowCheetah in the same folder as my solution&lt;/li&gt;
&lt;li&gt;
Added SlowCheetah.Tasks.dll and SlowCheetah.Transforms.targets to that folder&lt;/li&gt;
&lt;li&gt;
Create a solution folder named SlowCheetah in the solution&lt;/li&gt;
&lt;li&gt;
Drag and drop the files from your SlowCheetah folder into the SolutionFolder&lt;/li&gt;
&lt;li&gt;
Updated my project file to point to these files&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Now your solution should look roughly like the following image.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://sedodream.com/content/binary/Windows-Live-Writer/S_121C9/image_4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://sedodream.com/content/binary/Windows-Live-Writer/S_121C9/image_thumb_1.png" width="285" height="116" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Note: Steps #3/#4 are not strictly required&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
For #5 you’ll have to edit your project file, don’t worry its an easy modification.
Just follow these steps:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Right click on the project and select unload&lt;/li&gt;
&lt;li&gt;
Right click on the unloaded project and select Edit&lt;/li&gt;
&lt;li&gt;
Update the value for the SlowCheetahTargets import&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
In my case the folder that I placed the files into is 1 directory above the project
itself. So the new value for the property is as follows.
&lt;/p&gt;
&lt;pre class="brush: xml;"&gt;&amp;lt;SlowCheetahTargets&amp;gt;$(MSBuildProjectDirectory)\..\SlowCheetah\SlowCheetah.Transforms.targets&amp;lt;/SlowCheetahTargets&amp;gt;&lt;/pre&gt;
&lt;p&gt;
After that I checked in all the files, kicked off a build and viola the files are
transformed. Let me know if you need any more info. 
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
Sayed Ibrahim Hashimi – &lt;a href="http://twitter.com/sayedihashimi" target="_blank"&gt;@SayedIHashimi&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Note: I work for Microsoft, but these are my own opinions&lt;/em&gt;
&lt;/p&gt;</description>
      <comments>http://sedodream.com/CommentView,guid,c0fa850a-7563-40de-a61a-c7501e28cd9f.aspx</comments>
      <category>MSBuild</category>
      <category>SlowCheetah</category>
      <category>Visual Studio</category>
      <category>Visual Studio 2010</category>
    </item>
  </channel>
</rss>