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

(133) Review
Visual Studio
2013, 2012, 2010
Download (200,399)
E-mail Twitter Digg Facebook
Add to favorites
Reviews (133)
Q and A (252)
Sign in to write a review
Sort by:

by Gustin G | September 02 2014

Excellent tool - I use it in every project to achieve a clear configuration scenario.

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 Toons33 | July 21 2014

Terrific work -- the only problem with web.config can be solved with a little trickery (

THANK YOU SlowCheetah team.

by Victor Pascual Villanueva | July 15 2014

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

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


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>
<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 Michael A. Duncan | 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

21 - 40 of 133 Items   
Sign in to start a discussion

  • How to configure for TFS2015?
    1 Posts | Last post 12:56 PM
    • Has anyone found any article explaining how to make this awesome product work on TFS2015 as part of a team build?
  • Transformed XML no longer deployed via Web Deploy
    2 Posts | Last post October 02, 2015
    • For years I've been working on project that uses SlowCheetah to transform XML files for on screen text. 
      During the Web Deploy process for Windows Azure - the files are transformed, copied to ASPNETCompileMerge, packaged and delivered to my Azure website. Nice and simple. 
      Recently this process has stopped working.
      The files are clearly transformed and copied to the bin/app_data folder correctly. But when I take a look at the obj/BUILDXXX/Source/ASPNETCompileMerge/Source/App_Data I only see the untransformed version of XML document.
      From there the wrong xml file is packaged and deployed to the server.
      Any ideas? Comments? Anything? I've spent 5 full days trying to figure it out and I'm no closer now than when I started.
    • Hi Justin,
      I have the same problem! 
      Everything worked fine and now it stopped working. 
      Did you find a solution?
  • Need SlowCheetah Installation Help
    3 Posts | Last post September 22, 2015
    • On a newly installed Visual Studio 2013 (Windows Server 2012), I have created a new Console project, then installed SlowCheetah 2.5.15 using the NuGet manager. I right-click on App.config file but I don't see the "Transform" menu option as I expect. The same happens in Visual Studio 2015. This has worked for me on other boxes. Any suggestions on how to debug this? 
    • fwiw, here is the Package Manager output after installing SC 2.5.15:
      Attempting to gather dependencies information for package 'SlowCheetah.2.5.15' with respect to project 'ConsoleApplication1', targeting '.NETFramework,Version=v4.5.2'
      Attempting to resolve dependencies for package 'SlowCheetah.2.5.15' with DependencyBehavior 'Lowest'
      Resolving actions to install package 'SlowCheetah.2.5.15'
      Resolved actions to install package 'SlowCheetah.2.5.15'
      For adding package 'SlowCheetah.2.5.15' to project 'ConsoleApplication1' that targets 'net452'.
      For adding package 'SlowCheetah.2.5.15' to project 'ConsoleApplication1' that targets 'net452'.
      Adding package 'SlowCheetah.2.5.15' to folder 'c:\users\<name obscured>\documents\visual studio 2015\Projects\ConsoleApplication1\packages'
      Added package 'SlowCheetah.2.5.15' to folder 'c:\users\<name obscured>\documents\visual studio 2015\Projects\ConsoleApplication1\packages'
      Added file 'SlowCheetah.Transforms.targets' to folder 'Properties\SlowCheetah'.
      Added file 'Properties\SlowCheetah\SlowCheetah.Transforms.targets' to project 'ConsoleApplication1'.
      Added package 'SlowCheetah.2.5.15' to 'packages.config'
      Added file 'packages.config' to project 'ConsoleApplication1'.
      For adding package 'SlowCheetah.2.5.15' to project 'ConsoleApplication1' that targets 'net452'.
      Executing script file 'c:\users\<name obscured>\documents\visual studio 2015\Projects\ConsoleApplication1\packages\SlowCheetah.2.5.15\tools\Install.ps1'...
      Installing SlowCheetah to project [c:\users\<name obscured>\documents\visual studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.csproj]
      Name              : SlowCheetahToolsPath
      Value             : $([System.IO.Path]::GetFullPath( $(MSBuildProjectDirectory)\..\packages\SlowCheetah.2.5.15\tools\))
      Condition         : 
      Label             : 
      Parent            : Microsoft.Build.Construction.ProjectPropertyGroupElement
      AllParents        : {Microsoft.Build.Construction.Projec
    • Its because that the Nuget package does not provide the Visual studio extension for previewing the transforms, it only provides transforms on build. In order to preview the transforms you have to install the visual studio extension called SlowCheetah found on visual studio gallery or using the VS extension manager.
  • SlowCheetah XML transform app.config at deploy stage
    1 Posts | Last post September 10, 2015
    • Hi all, 
      I use SlowCheetah 2.5.15 with VS2015 to manage an app.config file for a Win8.1 universal app in order to manage connectionStrings based on build config. Everything is ok about the transformation but at the deploy stage the wrong file is publish to the ..\AppX\ folder - i.e. the default app.config (with no transformation) is published ! Does anyone have a solution. 
      It seems that the target _ComputeAppxPackagePayload building _UnfilteredAppxPackagePayload and _CalculateInputsForGenerateAppxPackageRecipe list building _GenerateAppxPackageRecipeInput list contains the wrong file. This lead to have a (my app is HelloWorld) with the wrong file - i.e. the app.config with non transformation ! 
      Thx for your help. Let me know if you need the complete build log or file. 
  • 2 questions
    1 Posts | Last post September 08, 2015
    • Hi,
      Thanks for this cool tool!
      Questions (VS2012 update 4):
      1 - No "Preview Transform" on "Web.Release.config". I do get it when I right-click on the Debug config. Why is that?
      2 - I have a separate config for connection strings. I configured profile configs for each, but it doesn't seem the tool picked it up. Do I need to configure this somewhere?
  • VS2015 Support
    2 Posts | Last post August 25, 2015
    • Excellent project. Is there an e.t.a for VS2015 support?
    • Visual Studio 2015 Support:
  • VS2013 Update 5
    1 Posts | Last post July 30, 2015
    • Hi,
      Does it support VS2013 Update 5 ?
  • VS2015
    1 Posts | Last post July 21, 2015
    • Is there an ETA when this will be updated to support VS 2015?
  • Preserve format of original config file
    1 Posts | Last post June 16, 2015
    • Is there some way to preserve the format of the original config file?
      We've got the VS option "Align attributes each on separate line" for XML files
      But after running a web config transform, the replaced section goes back to a single line 
  • TransformXml skipped due to false condition
    3 Posts | Last post June 04, 2015
    • I have a problem with log4net config files not being updated by SlowCheetah in Visual Studio 2010.  I'm using SlowCheetah  When I look at diagnostic build output, I receive the message:
      Task "SlowCheetah.Xdt.TransformXml" skipped, due to false condition; (Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)')
      and '%(Link)'!='' ) was evaluated as (Exists('Log4Net.Prod.config')
      and '' != '').
      I have two questions:
      1)  Where is SlowCheetah getting the "Prod" configuration from?  I'm using the "Release" build profile in Visual Studio 2010.
      2)  In the csproj file for my project, I see no references to a "<Link>" element but the log4net config file is referenced in a "<None>" element.  Clearly Slowcheetah is finding the log4net.config file to attempt the transformation but won't the fact that there is no <Link> element always prevent the transformation from happening?
    • Ok, since posting this, I answered my questions.  The above issue with the "<Link>" element isn't relevant to my problem at all.
      Nevermind.  :)
    • Hi Tom, 
      I am getting this same error. How did you fix it? Can you post your solution in this forum please for everyone's benefit?
1 - 10 of 252 Items