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

(102) Review
Visual Studio
2013, 2012, 2010
Download (134,879)
10/20/2013
2.5.10
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (102)
Q and A (223)
Sign in to write a review
Sort by:

by maskey | Thu 6:11 AM

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

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

by Eric A. Duesing | November 01 2013

by Christoffer Johnsson | November 01 2013

Very nice tool, keep up the good work.

FYI to all people that get's build errors and use Ncrunch. You must include the package in Ncrunch, else you will get build errors.

http://tech.pro/blog/1586/making-ncrunch-build-projects-that-use-slowcheetah

Version 2.5.10.1 works well with ncrunch, version 2.5.10.2 and 2.5.10.3 doesn't.

by ankgupta067 | November 01 2013

facing error -
Error 1 The "SlowCheetah.Xdt.TransformXml" task could not be loaded from the assembly C:\Users\SESA254846\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10\SlowCheetah.Xdt.dll. Could not load file or assembly 'file:///C:\Users\SESA254846\AppData\Local\Microsoft\MSBuild\SlowCheetah\v2.5.10\SlowCheetah.Xdt.dll' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. ConsoleApplication2

by WorkAByte | October 22 2013

amazing, cant believe I haven't found this sooner!
thanks for the simply awesome plug in

by MToons | October 08 2013

Excellent work -- so far only one major problem with web applications (solved here: http://stackoverflow.com/questions/16225304/using-slowcheetah-config-transforms-on-web-config-in-a-3-5-web-forms-app)

by e.sabbadin | September 19 2013

It works in vsnet 2012, but NOT on the TFS build server. I did not installed the plugin on the built server
I expected that the plugin was required only in the configuration phase, not to trigger the magic
, that is that it used the native xmltrasform features .. isn0t it the case ?

Sayed-Ibrahim-Hashimi September 21 2013
| Edit |
Delete

Hi e.sabbadin, when you install SlowCheetah into a project there is a message in the package manager console regarding build server support. Because of the way NuGet package restore is implemented there is some additional steps that need to be taken. You can read more info on how to enable that at http://sedodream.com/2012/12/24/SlowCheetahBuildServerSupportUpdated.aspx.

by Ed Schimmel | September 13 2013

It really annoys me that after an upgrade Slow Cheetah suddenly stopped working. In the first instance I was really pleased with this tool, but I can not use it when it is this buggy. It is a shame that there are no other tools doing the transformations, as far as I know.

Sayed-Ibrahim-Hashimi September 14 2013
| Edit |
Delete

Did you file a question in Q&A regarding your issue?

FYI please don't expect each release to be bug free. This is a one man project so I rely on the community to help in reporting issues when they arise.

by Mohammad Azis Fatoni | September 13 2013

by Pbsharper | September 06 2013

Highly recommended!
Used it for polyglot (f# c#) project. Worked without a hitch!

by zendu | September 06 2013

Release 2.5.7.1 simply sucks. It cannot even build project by throwing error - Could not copy the file"...exe.config" because it was not found.

PS: I wonder why there is no way to download earlier versions. It would at least made it easy to downgrade. With corporate firewall blocking NuGet packages, I am left with no options but to uninstall SlowCheetah and wait for next release that will fix the issue. So bad!

Sayed-Ibrahim-Hashimi September 14 2013
| Edit |
Delete

Sorry I had some issues with 2.5.7.1. Things should be better with 2.5.8, can you try and let me know? FYI regarding installing older versions you can always use the NuGet package manager console to install a specific version of the build support.

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


  • SlowCheetah doesn't work with custom transformation expression
    3 Posts | Last post Wed 3:59 PM
    • Nor effective transformation nor transform preview works when I use your custom extended transformation attribute described at http://sedodream.com/default,date,2010-09-09.aspx which indeed works like acharm ;).
      
      Here is the result of the build :
      Build started 21/06/2012 17:21:32.
      ResolveAssemblyReferences:
        A TargetFramework profile exclusion list will be generated.
      GenerateTargetFrameworkMonikerAttribute:
      Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
      _CopyAppConfigFile:
      Skipping target "_CopyAppConfigFile" because all output files are up-to-date with respect to the input files.
      CopyFilesToOutputDirectory:
        ConsoleApplication1 -> d:\rzetelny\Visual Studio 2010\Projects\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe
      TransformAllFiles:
        Transforming Source File: d:\rzetelny\Visual Studio 2010\Projects\ConsoleApplication1\App.config
          Applying Transform File: App.Debug.config
      d:\rzetelny\Visual Studio 2010\Projects\ConsoleApplication1\App.Debug.config(10,10): error : Could not resolve 'AttributeRegexReplace' as a type of Transform
      d:\rzetelny\Visual Studio 2010\Projects\ConsoleApplication1\App.Debug.config(14,10): error : Could not resolve 'AttributeRegexReplace' as a type of Transform
        Transformation failed
      
      
      Is there a way to make them work together ?
    • This is not currently supported but I have this on my backlog at https://github.com/sayedihashimi/slow-cheetah/issues/6.
    • Hi,
      
      Will custom transforms be supported any time soon?
      
      Thanks.
  • Config files as link.
    1 Posts | Last post Wed 11:28 AM
    • We have a shared config file across multiple projects, We use a link to the Root App.config file and another CustomConfig.config file which are used all over the place when i click on AddConfig Transforms it shows me a dialog box. 
      
      "Add as linked configs?" 
      
      Press yes then it says 
      
      "Object reference not set to an instance of an object." 
      
      Any idea on what could be happening at this point?
      
      Kind Regards
      Vinay.
  • Configs other than debug and release?
    1 Posts | Last post April 03, 2014
    • I was trying to add config files that were not debug or release for my other environments. I didn't see any way through VS to do this, so I decided to edit the project files. I added a PropertyGroup setting as well as an ItemGroup setting in my project file. The new config did show up under the app.config, however the actual build for my selected config did not transform the configuration or put the built files into the same named folder under bin. Suggestions? Is there a limitation to only debug and release builds? Thanks
  • works on my box but fails for everyone who checked out the project from svn
    1 Posts | Last post April 02, 2014
    • I have build the transform replacement using the plungin on a Class Library project and it works amazingly on my box. I checked everything into SVN and everyone who got the project from SVN are unable to get the replacements to work. I have the following setup..
      App.config
      App.Debug.QA1.config
      App.Debug.QA2.config We checked a few things.. everyone has the plung-in installed, we are all on VS2013 Pro, our project files (XMLs) are good, we are all selecting the correct environment (QA1/QA2) build configuration when we build but for everyone else the <dllname>.config file is not getting replaced. any inputs?
  • VS 2012 Ultimate - Unable to add transform to app.config
    2 Posts | Last post April 01, 2014
    • Via Nuget, I've installed SlowCheetah 2.5.10.3 and SlowCheetah.Tasks.Unofficial 1.0.0, and am unable to add a transform to any of my solution's projects' app.config files.  When I right-click on an app.config file, I do not see "Add transform" in the context-sensitive menu that appears.
      
      I have tried uninstalling and reinstalling SlowCheetah and SlowCheetah.Tasks.Unofficial, as well as reloading project, and restarting Visual Studio.  None of these have helped.
    • Try
      - download the vsix from http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5 (this project)
      - then exit VS 
      - then exec vsix
  • App.config being not transformed
    1 Posts | Last post March 28, 2014
    • In a solution with different projects, app,.config files are transformed only on the active one.
      Is it a bug or maybe is there something wrong in my configuration?
  • Unescape escape character
    1 Posts | Last post March 18, 2014
    • Is there a way to un-escape escaped characters like greater-than less-than?
      
      A feature similar to disable-output-escaping in XSLT?
  • Problem on Build Server
    2 Posts | Last post March 14, 2014
    • I know that you had some issues with build servers in the past, and I've tried some of the fixes that you had suggested for those, but I'm still having a significant problem using Slow Cheetah on my build server.  I am using a server running Windows Server 2008 R2 Standard.  I'm using FinalBuilder and MSBuild to build my projects.  Here's an overview of the problem:
      In the Slow Cheetah folder (../MSBuild/SlowCheetah) there is one folder called v2.5.10.2.  This folder is empty.  When I commit changes to a project, during the build process two new folders are created, once called v1, and one called v2.5.10.  All of the project code is copied into the v2.5.10 folder.  I'm then told that the build can't find the slow cheetah.dll, and the build fails.  If I go in and manually delete the two created folders (v1, v2.5.10), then run the project again (using FinalBuilder), it works and no folders are created.  Any ideas on how to fix this problem?  I really like this product, and it makes it much easier to work on projects; I'm just having a problem when building.  Thanks in advance!
    • I've had plenty of the same issues myself.
      Tried following instructions at http://sedodream.com/2012/12/24/SlowCheetahBuildServerSupportUpdated.aspx
      to no avail...
      
      One of my solutions IIRC was to check in the SlowCheetah packages files into source control alongside my solution, then manually editing the project-level .targets files to point at this, rather than AppData.  Not ideal at all, however, as SlowCheetah updates will blow this away; rare but would be annoying to say the least.  
      
      So I tried something else: logged into the Build Server (thank goodness I have permissions) and copied the folder from my local machine (C:\Users\<me>\AppData\Local\Microsoft\MSBuild\SlowCheetah)
      to the corresponding folder on the build machine, under the build user's account.  Again, glad and lucky I have sufficient privileges... not really an enterprise-level scenario, especially if you have multiple/many build servers; or an environment where you don't have access to the build server.
      
      A better solution I've considered is to write an MSBuild script, perhaps EnableSlowCheetahForTeamBuild.proj, that copies the SlowCheetah files from the downloaded workspace to the appropriate folder on the build server each time.  Does require the SlowCheetah package stored in source control, but worth it given all the issues we've had.  As it would run under the build user's account, it would likely have the sufficient permissions, and it would scale out seamlessly to a 1+ build machine scenario.  I'll probably set this up at some point.
      
      Frankly, given the number of downloads, I'm surprised more people aren't complaining - I'd love to hear from someone who has had luck with Sayed's 12/2012 solution, because nobody here has been able to get that working.
  • Not working under Windows XP
    1 Posts | Last post March 11, 2014
    • I opened VS2010 under Windows XP, installed the latest version using the extension manager in VS2010. Then created a new Project and added a transformation for an appsetting. The "Preview Transform" is working and displaying the replaced data, but when I run the simple console application, it does not transform the app.config.
      
      Is the transformation not working under WinXP?
  • Still A Separate Install?
    1 Posts | Last post March 09, 2014
    • We're now in VS 2013, and this still hasn't made it into the IDE itself? What gives? I understand why previous versions did not have it (priorities), but even now?
1 - 10 of 223 Items