SlowCheetah - XML Transforms

Free

This package enables you to transform your app.config or any other XML file based on the build configuration. It also adds additional tooling to help you create XML transforms.. Written by: Sayed Ibrahim Hashimi, Chuck England and Bill Hiebert

(113) Review
Visual Studio
2013, 2012, 2010
Download (158,230)
7/20/2014
2.5.11
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (113)
Q and A (230)
Sign in to write a review
Sort by:

by Thomas TwoAngel Rud Rasmussen | August 20 2014

Doesnt transforms, doesnt add new transforms, doesnt transform web.config as stated.

Soo, that's a no go im my environment

by chris.morgan | July 28 2014

Nice extension for a very needed feature.

by Toons33 | July 21 2014

Terrific work -- the only problem with web.config can be solved with a little trickery (http://stackoverflow.com/questions/16225304/using-slowcheetah-config-transforms-on-web-config-in-a-3-5-web-forms-app).

THANK YOU SlowCheetah team.

by Victor Pascual Villanueva | July 15 2014

Making things a lot easier for Selenium testing across different browsers:

http://testingisland.wordpress.com/2014/07/10/how-slowcheetah-can-help-with-your-selenium-tests/

by Dmitriy N. Dokshin | July 08 2014

by Frank Fajardo | June 26 2014

Very useful. I like that it looks at the Publish Profiles, although be cautious when you rename a Profile, it does not rename the previously generated transform files. But you can always regenerate and delete the old.

by tomKober | June 24 2014

Works like a breeze. :)

by dkehring | June 24 2014

Simply does not work with ClickOnce. I have not found any information that shows how to make XML transformations work with ClickOnce. You can run the transform preview and it looks correct, but the .config.deploy file generated by ClickOnce is the original, untransformed config file. Very frustrating and completely unusable in my situation.

by Henrick P | June 19 2014

A real must if you wish to deploy to different machine with different configuration settings stored inside some other [filename].config. Still wonder why Microsoft don't have this functionality out of the box.

by marcelnita | May 22 2014

Great!

by Brad Deem | May 08 2014

Excellent! Glad to see this come to projects other than web. Now if only Microsoft would pick it up out the box...

Just remember to verify that it works without SlowCheetah installed so other devs don't have issues. Here's what I've used before.

<PropertyGroup Label="SlowCheetah">
<SlowCheetah_EnableImportFromNuGet Condition=" '$(SC_EnableImportFromNuGet)'=='' ">true</SlowCheetah_EnableImportFromNuGet>
<SlowCheetah_NuGetImportPath Condition=" '$(SlowCheetah_NuGetImportPath)'=='' ">$([System.IO.Path]::GetFullPath( $(MSBuildProjectDirectory)\..\packages\SlowCheetah.2.5.8\tools\SlowCheetah.Transforms.targets ))</SlowCheetah_NuGetImportPath>
<SlowCheetahTargets Condition=" '$(SlowCheetah_EnableImportFromNuGet)'=='true' and Exists('$(SlowCheetah_NuGetImportPath)') ">$(SlowCheetah_NuGetImportPath)</SlowCheetahTargets>
</PropertyGroup>
<Import Project="$(SlowCheetahTargets)" Condition="Exists('$(SlowCheetahTargets)')" Label="SlowCheetah" />

by SegaWang | April 26 2014

great transform tool. Thanks a lot

by CloudKarthik | April 22 2014

SlowCheetah doesn't work with Windows azure Web/worker Role projects.

by maskey | April 17 2014

by Mathias Colpaert | April 01 2014

SlowCheetah might be a bit buggy to set up, but once it works its great!

by Micky D | March 28 2014

Conflicts with ReSharper 8.1. Had to Suspend and Resume Resharper because I could not edit any file after applying a template

by Craig Brett (JP) | March 25 2014

I spent an afternoon trying to get this going for a team project. After a fair while thrashing with the already-mentioned "The SlowCheetah.Xdt.TransformXml" task could not be loaded from the assembly" problem, I eventually solved it by deleting the %localappdata%\Microsoft\MsBuild\Slowcheetah folder and it semed to resolve itself on my local machine and I was allowed to build and run stuff. I then deployed this to my colleagues who didn't have the plugin, under the impression that the NuGet package would make everything alright. No joy, regardless of what I tried. I'm now having to see if I can hand-roll a solution for changing config settings for people. Gets 2 stars because I like the idea and it kind of worked on my machine.

by Daniel Castenholz | February 07 2014

Nice integration with VS. Makes a chore much more manageable.

by Spesimensen | January 30 2014

Excelent tool! Thank you very much.

by Leonidas1 | December 06 2013

1 - 20 of 113 Items   
Sign in to start a discussion


  • work in vsnet 2012, but NOT on the TFS build server
    1 Posts | Last post September 18, 2013
    • Hi, i'm facing this problem. 
      Is it supported ? What should i check ? 
      thank you 
      e.sabbadin
  • Can you use SlowCheetah with the Wix harvesting feature
    2 Posts | Last post September 18, 2013
    • We are trying to use SlowCheetah with a Wix 3.7 installer project. When we try to use the Wix harvesting feature, the Wix build fails with the Heat error shown below. 
      
      We are new to SlowCheetah and also to Wix, so please accept our apologies if there is something obvious here that we are missing. Thanks in advance for any ideas and/or suggestions! 
      
      Here is the compile error received when we try to build the solution.
      
      Build error during harvesting: C:\Users\UserName\AppData\Local\Microsoft\MSBuild\SlowCheetah\v1\SlowCheetah.Transforms.targets(91,5): Could not open Transform file: Could not find file 'C:\Users\UserName\Desktop\Source\Applications\AppName\Branches\1.0.0.131\NET\MonikerInstaller\app.Debug.config'.
    • Same problem here. Any ideas?
  • Bug in 2.5.7.1
    15 Posts | Last post September 09, 2013
    • Hi!
      
      Thanks for a great product, although it seems to be a bug in the latest version. When I compile I get an error MSB3030 that is telling me that my bin/debug/*.config could not be found. 
      
      If I uninstall SlowCheetah and manually removes the content in C:\Users\UserName\AppData\Local\Microsoft\MSBuild\SlowCheetah it compiles as expected.
      
      Anyways thanks again
      
      /Jonny
    • I too am seeing this problem. Is there any fix short of uninstalling?
    • I'm also seeing this behavior.  Is it possible to roll back to the previous version until this gets fixed?
    • I'll add to that I am also experiencing the issue.
    • I too am getting this behavior.  My project builds just fine right up to the point that I add transforms.  As soon as those App.<build level>.config files are created, my app builds halt having only created the .vshost.* files in the bin folder.  Delete the transform files and the build can resume.  
      
      VS2010, SlowCheetah 2.5.7.1
    • More complicated than I first thought.  Messing with a new project, the tool works for me.  But I can't seem to get my existing application to get past the errors mentioned above.  
      
      I found the project in GitHub and I'm submitting an issue.
    • Sorry to hear you are having issues. Can you tell me: what types of projects have this issue and what version of VS are you using?
    • I'm using VS2012 Update 3 and see the problem with two WinForms apps. There isn't anything special about these two apps that I can see. Just run of the mill WinForms. I do have very simple usage of app.config transforms in both of these, literally one appsetting change in release mode and none in debug.
    • Any chance of someone sharing the project and source code for an impacted project? I am not able to reproduce this issue.
    • Microsoft Visual Studio Ultimate 2012
      Version 11.0.60610.01 Update 3
      Microsoft .NET Framework
      Version 4.5.50709
      
      Installed Version: Ultimate
      
      Doesn't seem to matter what project type.  Doesn't work on winform or wpf projects.
      
      
    • I was able to get it to work for specific projects by adding the 2.5.5 version of the nuget package to my project.  Prior to this version that broke things, I never used the nuget package and just used the vs extension.
    • I am using VS2012 Ultimate update 3. Project types: wpf, wcf and windows service.
    • Sayed, my two apps have too many dependencies and hooks into the larger solution to offer as a repro case. So I went and created a new WinForms app and cannot cause the problem, even with exactly the same config files and transforms. I'm not sure what to make of this. Clearly something is wrong in the two projects I have. If it helps any I am willing to offer you the project file itself, though it won't build of course due to the lack of dependencies.
    • Sayed, the most recent update has resolved this problem for me. Thank you so much, and thanks for the awesome product!
    • Also reporting that 2.5.8 has repaired the issue for me.  Thanks again.
  • Limit on default number of web.config transforms
    1 Posts | Last post September 09, 2013
    • Hi,
      Is there a limit on default number of web.config transforms that can be added. Beyond 11 transforms, I don't get the option to "Add Config Transforms" when I right click on web.config. I then have to create a transform manually and associate to the web.config.
      Another thing I noticed is that though I have more than 11 build configs defined, only 11 web.config transforms get added. Any further transforms have to be added manually. Is there a way I can change this setting?
      Thanks.
  • Transform on build works but on publish not so much
    3 Posts | Last post August 30, 2013
    • I have been trying to get this to work with a web application called EPiServer CMS. The Web.config loads configuration sections from a number of files (configSource=). for example: Appsettings.config, episerver.config and episerverframework.config. 
      
      I have successfully got this working for all my files on "build" so that all the files build according to the correct transform file. Thanks to your page here: http://sedodream.com/CommentView.aspx?guid=68b7e248-b9f5-4d07-bdfe-eb037bcf2cbb Wonderful, thank you :)
      
      But, the issue I am having is on publish. When I choose to publish my website only the web.config file and appsettings.config are delivered to the output folder (and correctly transformed). There are two other files in the project (EPiServerLog.config and FileSummary.config) which I do not transform and both of these files are also copied.
      
      Can you suggest any reason why some of the files would not be copying? (episerver.config and episerverframework.config do not copy). It doesn't matter what I set the Build Action or the Copy to Output Directory to.
      
      Thanks in advance, both for any light you can shed on the issue and for an amazing extension =)
      
      /John
    • I seem to have solved it by removing the files from my project and re-adding them. Now all seems to be working the way I want it =)
    • Just a quick note: The files before I removed them all appeared under web.config in visual studio (I mean there was a + button and the files would be grouped under) - now they are not grouped there it works fine. Hope this helps anyone else :)
  • What is wrong?
    2 Posts | Last post August 21, 2013
    • Hi,
      I'm using xdt:Locator="Condition(ID/text()='1')" to select <data> from:
      <Info>
          <Data>
              <ID>1<ID>
           ...
          </Data>
          <Data>
              <ID>2<ID>
           ...
          </Data>
          <Data>
              <ID>3<ID>
           ...
          </Data>
          <Data>
              <ID>4<ID>
           ...
          </Data>
      </info>
      Sometimes it works and smonetimes not, can you tell me what can I do wrong that it isnt working?
    • PS. I'm doing this that way:
      <Info>
          <Data xdt:Locator="Condition(ID/text()='1')">
          ...
          </Data>
      </Info>
  • Must be missing something...
    1 Posts | Last post August 20, 2013
    • Just tried adding this to a VS2010 web application project and everything seemed to be ok but when I right click the web.config file I just see the stock Add Config Transform.  I can see it added to packages.config etc
      
      Is there something else I need to do to enable it?  
  • Visual Studio 2013
    1 Posts | Last post August 09, 2013
    • Can we expect an update for VS2013 in the near future by any chance? Was very sad to find out this is not currently compatible. Only extension from my toolset that is missing currently :/
  • Wrong filename on build server
    1 Posts | Last post August 06, 2013
    • This just recently started happening after an upgrade to Azure 2.1 NuGet components (not that this is related).  Anyway, my SlowCheetah transformations are still working on the build server, the problem is the output file name is wrong.
      
      I need myproject.dll.config to be the result of the transform, instead it is only transforming app.config.
      
      How do I tell SlowCheetah to output its transform result as myproject.dll.config?
      
      Thank you.
  • TransformXml skipped due to false condition
    2 Posts | Last post July 25, 2013
    • SlowCheetah has worked for me before to transform my App.config, using App.Debug.config, etc. This is in a Windows Service application.  It has worked on the build server, where I deploy by git cloning, as well without any extra steps. But now I've cloned my repo after a fresh install and it's not working for me. My OS is the same as it was before (Windows 7, 64-bit).
      
      Here's a clip from the build output:
      ...
      1>Task "SlowCheetah.Xdt.TransformXml" skipped, due to false condition; ( Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)')
      1>                              and '%(Link)'=='' ) was evaluated as ( Exists('.Debug')
      1>                              and ''=='' ).
      ...
      
      Thanks for your help.
    • This turned out to be my own mistake. The namespace for some application settings had changed and I hadn't updated the xml in my App.Debug.config.  So they just weren't being copied because they didn't match.  It's working now. 
      
      Oddly enough, I'm still seeing the same message in my build output.
51 - 60 of 230 Items