SlowCheetah - XML Transforms


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

(137) Review
Visual Studio
2013, 2012, 2010
Download (203,891)
E-mail Twitter Digg Facebook
Add to favorites
Reviews (137)
Q and A (253)
Sign in to write a review
Sort by:

by jmelllo | November 19 2015

by DragonOfId | November 12 2015

This extension has made configuring console programs for multiple environments SO much easier. I have no idea why this functionality isn't native in VS!

by George Birbilis | November 05 2015

see for VS2015

by the real Tim Partridge | October 23 2015

Works as advertised. Downloaded, installed, restarted Visual Studio. Done

by Toomas Talviste | September 23 2015

by Kevin Landymore | September 15 2015

Doesn't work with a build controller. Useless for me sadly, these things should work "out of the box".

by Richard M Lee | September 06 2015

Invaluable! A feature that should definitely be native to visual studio.

by SabbirSpider | August 14 2015

Great Package.It reduces my lot of manual task for my windows application

by sukhdeep.singh1 | July 31 2015

Great plugin, a life saver :)

by ronnotel | July 18 2015

I've been coding large financial trading frameworks in VS/C# since .NET 1.1 days (12/13 years). From this perspective, I can affirmatively state that Slow Cheetah is by far the most productive package that is not currently integrated into the VS tool. I'm walking through a major rollout now involving five different staging environments and over twenty different server configs. Without Slow Cheetah, the other 35 people in the deployment team waiting on my builds would be left high and dry while I tried to manage the configs by hand. VS management - what the *hell* are you thinking? Integrate!

by MGSman123 | June 30 2015

Excellent extension! Definitely essential to my VS toolbelt going forward. Works like a charm in VS2015 too. Just needed to tweak the vsextension xml inside the package :)

by Blue Ajaz | June 03 2015

by dittodhole | April 23 2015

by Tim Long | April 20 2015

5 stars, a genuinely useful tool whenever you need different connection strings, diagnostic logging (etc, etc) configuration for release vs. debug builds.

by MSreenath | March 17 2015

Hi Ibrahim,

Thanks for writing this great tool. I have a question regarding this tool.

Question 1:

How this tool will help if I am creating ONE setup project (msi project) for all my environments and have multiple configuration files ? How can I build and deploy in this case.

As far as I can see this tool works great if you are doing file copy deployment. It just does not make sense to create setup file (read msi) for each environment, if that route I am taking for this

Question 2:

I have 5 different applications (Three Console Applications, Two Windows Service and Two Web)

Can I keep a one master config file and update all these five applications without copying same settings to app.staging.confing likewise to all applications.

Again, it takes lot of time and create this tool, I myself struggled create such tool but it is far from the level you have reached.

Please let me know. I am waiting for your response.


by jhjhkl758 | March 12 2015


by Cosmin Vana | January 19 2015

by Victor Lindsey | January 16 2015

I really like this tool for Visual Studio (both 2010 and 2013), and cannot understand Microsoft's reluctance to adopt this as a standard feature for all future versions of the IDE.

I found that for me, using the VSIXinstaller for each edition of Visual Studio I'm using, worked well to get it installed. And I have to make sure that custom XML-styled configuration files are marked with "Copy always" or "Copy if newer".

by 程湘之間 | January 06 2015

It's a very good add-on for Visual Studio.
Maybe making a formal part of Visual Studio will be a good idea.

by Rehan Saeed | December 15 2014

Vote for this feature to be built into Visual Studio. Find out more here:

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

  • Visual Studio 2013 support
    5 Posts | Last post October 07, 2013
    • Hi. I cannot get it to work in VS2013 RC. Is there some way to install it on that version?
    • Haven't tested it much yet but:
      1) Download 7-Zip
      2) Download the VSIX from the link above
      3) Right click on the VSIX and select Open with -> Choose default program
      4) Select C:\Program Files\7-Zip\7zFM.exe (or Program Files (x86) for 32 bit)
      *** Make sure to uncheck the box to associate 7zFM.exe with VSIX files ***
      5) Right click on extension.vsixmanifest and select Edit (F4)
      6) Copy/paste the <VisualStudio Version="11.0"> node and replace 11.0 with 12.0
      7) Save and close Notepad - 7-Zip will ask you to save the file back in the archive
      8) Hope it works ;) 
      I was able to do transforms but haven't tried to build or deploy anything yet using VS2013 
    • Worked like a charm. Thank you very much!
      I did deploy with no problems.
      I used the excellent Total commander to open the vsix file, select any file in right pane and use Ctrl-left arrow to open it in the right pane. Brilliant :)
    • Thanks guys. Official support for VS2013 will be coming soon.
    • I have just released 2.5.9 which supports VS2013
  • How to get transform to work for XSLT not part of project.
    1 Posts | Last post October 02, 2013
    • I'm sure there's a way to do this if I buckle down and determine how this works, but my object is to do the transform without making the App.Debug.config (or other XSLT) part of the project, otherwise it will remain permanently checked out by all developers and in their TFS exclude list. Right now it doesn't work unless it is part of the project.
      We do this for web services. We have a Web.Debug.config.template file checked into the project, which each developer can copy to make their own Web.Debug.config file which is not checked in and not part of the project. Then using the technique I found on
      we create a Web.Base.config file which no one checks out unless necessary it creates a Web.config file on each build. 
      This should be easier with App.Config since it isn't modified, and is transformed to the bin directory.
      Question: Has anyone done this with SlowCheetah transforms and is willing to share the technique? I assume it is possible with a custom targets file and modification of the csproj file, but unfortunately package restoration might wipe out the modifications.
  • Transform an Embedded Resource XML
    2 Posts | Last post September 30, 2013
    • Is it possible to transform an XML file that is set as Embedded Resource?. I'm having problems with a transformation like that. Thanks.
    • This is not possible.
  • SlowCheetah changes XML character references
    1 Posts | Last post September 19, 2013
    • I'm using the SlowCheetah 2.5.8 NuGet package for config transforms and it's automatically transforming XML character references as follows
          <param name="Header" value="&#13;&#10;[HEADER]"/>
          <param name="Header" value="&#xD;&#xA;[HEADER]"/>
      How do I keep the original XML character references intact?
  • 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 
  • 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\\NET\MonikerInstaller\app.Debug.config'.
    • Same problem here. Any ideas?
  • Bug in
    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
    • 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
    • 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?
  • 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: 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 =)
    • 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:
      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:
          <Data xdt:Locator="Condition(ID/text()='1')">
71 - 80 of 253 Items