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,932)
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 WCF app.config Transform on Publish
    1 Posts | Last post October 30, 2013
    • Can SlowCheetah transform app.config for WCF projects when published using the file publish method. 
      I currently have Version 2.5.10 installed and it does not appear to be transforming an publish for my WCF project.
  • Transform Without Having to Recompile per Configuration
    6 Posts | Last post October 29, 2013
    • Hi,
      
      We have multiple target environments (DEV/QA, etc.). Since the only things that change are configuration settings (nothing done with precompilation statements) we'd rather not have to have a configuration per environment; seems like a waste to recompile for each environment since the code is the same. We'd also like to minimize the customization of the SlowCheetah.Transforms.targets file. Is there a recommended way to compile the code once and get SlowCheetah to create transformed config files for multiple environments?
      
      Thanks in advance
    • Hello Santos,
      Did u find a way to solve ur problem? I am having the same kind of problem. Several environments and when i do a debug, the webconfig is not transformed to the environment that i want.
    • No, I haven't. I was hoping to get a reply from Sayed but never did. I know I could do it by customizing the targets file to use a custom variable like $(Environment) instead of $(Configuration) but I was hoping to not customize anything so that I wouldn't have to revisit the targets file to check for possible conflicts.
      
      Overall, I do like SlowCheetah I just really dislike how it and XML Transforms overall are married to build configurations. The binaries for us are not different per environment. The only thing that is different is just the configs. We currently use XML Preprocess and so far, I'm thinking we're going to stick to it.
    • This is exactly the problem I'm experiencing. I'm trying to overcome the problem by only referencing the SlowCheetah target, but that doesn't work:
      MSBuild [path to project file] /t:TransformAllFiles /p:Configuration=Release
      
    • Sorry for the delay here SlowCheetah doesn't cover this scenario. There is another similar tool that you may be interested in. Check it out at http://ctt.codeplex.com/.
    • I found a pretty decent work around for this, while still using SlowCheetah.
      I created some afterbuild events:
      <TransformXml Source="web.config" Transform="Web.Staging.config" Destination="webstaging.config" />
          <TransformXml Source="web.config" Transform="Web.Release.config" Destination="Webrelease.config" />
      		<SlowCheetah.Xdt.TransformXml Source="config\umbracoSettings.config"
                        Transform="config\umbracoSettings.Release.config"
                        Destination="config\umbracoSettingsRelease.config" />
      
      With the devops tool we are using (Buildmaster) The files are renamed and replaced on the correct environments.
      It's not ideal, but you still have central config files (web.config and umbracoSettings.config), and you only have to manage the changes in the XMLtransform files.
  • Incorrect build configuration on cloud services deployment
    3 Posts | Last post October 28, 2013
    • I deploy my cloud services solution with Visual Studio 2013 (Azure SDK 2.2 + SlowCheetah). I created new build configuration 'config_name' besides standard Debug and Release and I use it in my publish profile. But when I start deployment I see SlowCheetah (I guess) uses Release config:
      
      Transformed Web.config using C:\...\Web.Release.config into obj\Release\TransformWebConfig\transformed\Web.config.
    • ok, this is really important - I have staging deployment and production version of my cloud app. When I deploy staging it's important to have a connection string point to STAGING db and have all other things configured differently (Twilio, sendgrid, etc). Now I can't have it bacause my Debug config is for local development, Release is for Production, and the one that doesn't work is for Staging. So I basically have a hard time deploying and testing my solution.
    • ok, solved this myself. I opened configuration manager and under build everything were selected as Release. Changed this to 'config_name' and it worked (well, i had to do this in csproj and sln files manually, but that's another story).
  • VS 2012 / Azure 2.1 - not transforming?
    2 Posts | Last post October 22, 2013
    • I'm using VS 2012 and Azure Tools 2.1 with SlowCheetah.  I downloaded & installed the VS extension and everything seemed to go fine: I was able to create Debug and Release versions of the app.config for my worker role.  I added transforms and checked them with "Preview Transform".  All good.  But when I build -- nothing.  Transforms haven't been done.  Am I missing something?  Is there somewhere I can look to see if the transform failed or get some logging data on what's happening?
    • It looks like I needed to install the SlowCheetah.xdt nuget package as well.  Seems to be working now.
  • Only publish transformed files
    1 Posts | Last post October 17, 2013
    • Hey,
      
      I'm looking for a way to use msbuild together with slowcheetah to produce/publish *only* the transformed files.
      I tried
      MSBuild [path to project file] /t:TransformAllFiles /p:Configurat
      ion=Release
      
      That doesn't give any errors, but it doesn;t give me my files either.
      I think because SlowCheetah only transforms on publish.
      
      I tried some other options as well, but to no avail.
      Please help?
  • Could not copy the file"...exe.config" because it was not found.
    7 Posts | Last post October 17, 2013
    • I'm receiving the error:
      
      Could not copy the file "bin\Debug\TIPS.Client.exe.config" because it was not found.
      
      I'm not alone
      
      http://michaelsync.net/2013/08/30/slowcheetah-clickonce-issue
      
      If I simply create a new WPF application and enable "Enable ClickOnce security settings" I get the error.
      
      Thanks
    • I've created an app that illustrates the problem
      
      https://github.com/xsdconsulting/SlowCheetahTest.git
      
      VS 2012 update 3
      installed VS slowcheetah expansion
      create wpf 4.5
      enable ClickOnce security
      add transform
      buid
    • As mentioned below, downgrading to version NuGet package 2.5.5 fixed the issue.
    • Thanks for the details, I am able to repro this now.
      
      I've created an issue on the project page at https://github.com/sayedihashimi/slow-cheetah/issues/108. Let's followup there.
    • This should be fixed in 2.5.8.
    • I'm having the same Problem with Version 2.5.9.1, VS2013 Update 3 in an WPF-Application. Added the transform, did some transformations, preview is working fine, but building the release gives me the error described here. Click Once Security is enabled.
    • Ok sorry, If I choose Tools/Extensions and Updates it tells me I have 2.5.9.1 installed. As building is not working I uninstalled the package from my project and recognized I had 2.5.7 there. So I uninstalled it (which didn't work right away) and installed it (why 2.5.8?) again. Now its building!
  • VS 2010 .config Add Transform option to available
    2 Posts | Last post October 10, 2013
    • Hi,
      
      I have installed the latest version 2.5.9 using VS 2010 (SP1). However the option for right click Add Transform doesn't appear. Any problems with this particular release.
      
      Thanks,
      Dan
    • Sorry switching to .NET 4.0 caused the extension to not work in VS2010. I've just released 2.5.9.1 which is built with .NET 4.0 and should work with VS2010. Please try it out and let me know if it does not work.
  • Does it work?
    12 Posts | Last post October 10, 2013
    • i am using VS 2012 with update 3. After installing the latest from Nuget i was fully expect to see the context menu "Add Transform" when right click on a app.config file. but no such menu comes up. how do i get it to work? any documentation/user guild on this?
    • 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.
    • Sorry, replied to the wrong discussion.
    • I'm running VS 2012 update 2 and I experience the exact same problem as Jeo Ho W. The menu item "Add Transform" does however show up when I right click on a web.config file.
    • Sorry for the confusion guys. The NuGet package is just a mechanism to ship the underlying build support. The Visual Studio extension (which this is the download page for) ships the menu options in Visual Studio.
      
      It is authored this way so that when working in teams if one person adds SlowCheetah everyone will get the correct build behavior without having to install the extension. Only those interested in creating new transforms need to install the extension.
      
      Unless you are an advanced user you can view the NuGet package as an implementation detail.
      
      I hope that clears things up.
    • Crystal clear! :-) Thanks
    • On vs2010 ult, I cant see the context menu either.  VM cannot get to the internet, so cant get from nuGet.  How can I get this thing working?
    • @dugongsoftware, you need to install the VS extension to see the context menu. You don't need an internet connection. If the NuGet pkg cannot be installed it will use local files.
    • I am using VS2012.3 and installed the VS extension to a web site project in hopes of transforming a CMS specific file AssetManagement.config, but I do not see the context menu offering the "Add Transform" option.  I tried to install the Nuget package but installation failed with the message "Project file not found".  Does this work only with WAPs?
    • Sayed, after I updated, the Preview Context Menu option disappeared and I need it back.  Do you know where I can get a copy of SlowCheetah 2.5.8?  
    • I am using VS2010, I've installed the vsix using Tools > Extension Manager. I've created a new Console Application with App.config file, I don't see an "Add Transform" option. Doing the same with VS2012, I do get the "Add Transform" option - is there a version available for VS2010?
      
    • Sorry guys switching to .NET 4.0 caused the extension to not work in VS2010. I've just released 2.5.9.1 which is built with .NET 4.0 and should work with VS2010. Please try it out and let me know if it does not work.
  • 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 http://stackoverflow.com/questions/2932059/managing-web-config-for-teams-in-vs2010-tfs
      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.
31 - 40 of 223 Items