# 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

(130)
Visual Studio
2013, 2012, 2010
(197,039)
7/20/2014
2.5.11
View
Description
Reviews (130)
Q and A (249)
Sort by:

| 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/

| July 08 2014

| 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.

| 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.

| May 22 2014

Great!

| 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 | April 22 2014 SlowCheetah doesn't work with Windows azure Web/worker Role projects. by maskey | April 17 2014 | April 01 2014 SlowCheetah might be a bit buggy to set up, but once it works its great! | 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 | 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. | February 07 2014 Nice integration with VS. Makes a chore much more manageable. | January 30 2014 Excelent tool! Thank you very much. | December 06 2013 by AranV | November 27 2013 by 2Toad | November 23 2013 An invaluable addition to Visual Studio! Totally beats editing project files by hand. Well done! by schleeke | November 11 2013 21 - 40 of 130 Items Sign in to start a discussion • Need SlowCheetah Installation Help 2 Posts | Last post Thu 5:28 PM • 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 • VS2015 Support 2 Posts | Last post Tue 12:25 PM • Excellent project. Is there an e.t.a for VS2015 support? • Visual Studio 2015 Support: https://visualstudiogallery.msdn.microsoft.com/05bb50e3-c971-4613-9379-acae2cfe6f9e • Transformed XML no longer deployed via Web Deploy 1 Posts | Last post August 17, 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. • VS2013 Update 5 1 Posts | Last post July 30, 2015 • Hi, Does it support VS2013 Update 5 ? Regards Piotr • 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 2.5.10.3. 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?

Thanks!

Tom
• Ok, since posting this, I answered my questions.  The above issue with the "<Link>" element isn't relevant to my problem at all.

Nevermind.  :)

Tom
• 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?

Regards,
Pratik 
• Why "Debug" and "Release"?
4 Posts | Last post May 18, 2015
• I want to create transforms for each of our environments (e.g. "Dev", "QA", "Prod") and name them accordingly.  Having transforms named after the build configuration (e.g. "Debug" or "Release") doesn't work for us.  How can I set that up?
• You can name your build configurations "Dev, QA, Prod", once you have done that, then transform the app.config file and it will take the name of the build configs.
• Sorry Michael for the intrusion but I had the same issue.

Harag9,

I already did what you suggested but still only Debug and Release are getting transformed.  Once I use the environment specific config, the environment specific config files is just being copied instead of merging and transforming it with the main app.config.
• Apologies for the delay in replying. I'm like you and use 3 different configs (DEV,UAT,PROD) i create these in the build configuration, then right click on the app.config file to create the files app.dev.config etc (I then delete the debug & release versions & build configurations) so the solution only knows about the 3 configs I use, then to build I select the config "dev" and click build solution. This works for me and they seem to get transformed ok - I'm using VS2013.
• VS 2015 RC
1 Posts | Last post May 10, 2015
• Hi!
Visual Studio 2015 is RC now. Are you planning to support this VS version for this great extension?
Regards
Magnus
• Visual Studio 2015 CTP
1 Posts | Last post April 23, 2015
• Hi,

is a (beta) version of Slow Cheetah available for VS 2015 CTP already?
Will there be a version of Slow Cheetah for VS 2015 soon (after its release)?

Best regards
Markus
1 - 10 of 249 Items