# 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

(133)
Visual Studio
2013, 2012, 2010
(199,932)
7/20/2014
2.5.11
View
Description
Reviews (133)
Q and A (251)

Be the first to write a review.

• Transformed XML no longer deployed via Web Deploy
2 Posts | Last post Fri 9:46 AM
• 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?

Thanks!
• 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 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 HelloWorld.build.appxrecipe (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 HelloWorld.build.appxrecipe 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?

Thanks!
• VS2015 Support
2 Posts | Last post August 25, 2015
• 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
• 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.
1 - 10 of 251 Items