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

(127) Review
Visual Studio
2013, 2012, 2010
Download (192,427)
7/20/2014
2.5.11
View
E-mail Twitter del.icio.us Digg Facebook
Add to favorites
Description
Reviews (127)
Q and A (245)
Sign in to write a review
Sort by:

by MGSman123 | Tue 3:19 PM

Excellent extension! Definitely essential to my VS toolbelt going forward. Works like a charm in VS2015 too. Just needed to tweak the vsextension xml inside the package :)

by Blue Ajaz | June 03 2015

by dittodhole | April 23 2015

by Tim Long | April 20 2015

5 stars, a genuinely useful tool whenever you need different connection strings, diagnostic logging (etc, etc) configuration for release vs. debug builds.

by MSreenath | March 17 2015

Hi Ibrahim,

Thanks for writing this great tool. I have a question regarding this tool.

Question 1:

How this tool will help if I am creating ONE setup project (msi project) for all my environments and have multiple configuration files ? How can I build and deploy in this case.

As far as I can see this tool works great if you are doing file copy deployment. It just does not make sense to create setup file (read msi) for each environment, if that route I am taking for this


Question 2:

I have 5 different applications (Three Console Applications, Two Windows Service and Two Web)

Can I keep a one master config file and update all these five applications without copying same settings to app.staging.confing likewise to all applications.

Again, it takes lot of time and create this tool, I myself struggled create such tool but it is far from the level you have reached.

Please let me know. I am waiting for your response.

Sree

by jhjhkl758 | March 12 2015

ddd

by Cosmin Vana | January 19 2015

by Victor Lindsey | January 16 2015

I really like this tool for Visual Studio (both 2010 and 2013), and cannot understand Microsoft's reluctance to adopt this as a standard feature for all future versions of the IDE.

I found that for me, using the VSIXinstaller for each edition of Visual Studio I'm using, worked well to get it installed. And I have to make sure that custom XML-styled configuration files are marked with "Copy always" or "Copy if newer".

by 程湘之間 | January 06 2015

It's a very good add-on for Visual Studio.
Maybe making a formal part of Visual Studio will be a good idea.

by Rehan Saeed | December 15 2014

Vote for this feature to be built into Visual Studio. Find out more here:

http://rehansaeed.co.uk/configuration-file-transforms-in-visual-studio-should-be-built-in/

by Omar Gameel Salem | December 08 2014

by Slammer17 | December 02 2014

Recently updated via nuget from :

<package id="SlowCheetah" version="2.5.10.3" targetFramework="net45" />


To



<package id="SlowCheetah" version="2.5.14" targetFramework="net45" />

and after this update, Slow Cheetah stopped transforming files within VS2013 Ultimate Update 4

I rolled back to 2.5.10.3 and it now works fine again.

by Josh Gallagher | October 15 2014

The simple mechanisms for replacing parts of XML that are used by
msdeploy on web.config are equally useful with any other config files.
SlowCheetah does a great job of extending that functionality in a
transparent way to other files.

by chris.morgan | September 04 2014

This extension has saved my countless hours setting up automated builds and continuous deployments. This is a must have if you need to do configuration file transforms during your build and deployment process.

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 (http://stackoverflow.com/questions/16225304/using-slowcheetah-config-transforms-on-web-config-in-a-3-5-web-forms-app).

THANK YOU SlowCheetah team.

by Victor Pascual Villanueva | 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/

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.

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


  • New version XDT?
    5 Posts | Last post March 07, 2013
    • You mentioned adding XDT, what do I need to do with projects that were created using and old version? My concern is with other team members not having slowCheetah installed.
    • Just right click on Add Transform on some XML file. It will add the NuGet package automatically if its not installed. Then make sure to enable package restore. With package restore even if the user doesn't have SlowCheetah installed the files will be transformed. SlowCheeth (the VS extension) just provides the VS command to add transform/preview. The rest of the functionality is in the NuGet package. That's one of the great benefits of this update.
    • Sweet, that is perfect! 
      Thank you for this awesome tool!
    • Well I tested this on an existing app and it did not install any nuget package. So I installed it manually. Will that work ? 
    • Yeah that's fine, but check that you have 2.5.5 installed. 
  • Slow Cheetah transforms on Build and modifies project web.config
    4 Posts | Last post March 05, 2013
    • This is a strange one.  I had a client install the slow cheetah extension and then build the project.  The web config in the project was transformed to whichever build config was selected.  This behavior is not reproducible on my machine or my colleagues'.  This is a Visual Studio 2010 Professional w/ SP1.  One thing I did notice was he didn't have nuget package manager installed yet.  We're troubleshooting this tomorrow and I'm proposing to remove both extensions then add Nuget and last add slowcheetah (through nuget).  
      
      Have you seen this behavior reported before and if so, was there a set of steps to prevent it?  
      
      Thanks.
    • I've never heard of this issue. Does it repro on the same box with a new project? It could be something else messing with web.config.
    • I have very similar behavior and can reproduce it with VS 2010 and SlowCheetah 2.5.5.  I create a new ConsoleApplication, add a file called testFile.config, right click and select Add Transform.  The Debug and Release Versions are added and I make slight alterations ending up with:
      
      testFile.config
      <outerTag>
      </outerTag>
      
      testFile.Debug.config
      <outerTag xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
      	<myDebugTag xdt:Transform="Insert"></myDebugTag>
      </outerTag>
      
      testFile.Release.config
      <outerTag xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
      	<myReleaseTag xdt:Transform="Insert"></myReleaseTag>
      </outerTag>
      
      If I build with Debug configuration selected, the testFile.config file is modified to be:
      <outerTag>
      	<myDebugTag>
      	</myDebugTag>
      	<myDebugTag>
      	</myDebugTag>
      </outerTag>
      
      Everytime I re-build, I get two additional <myDebugTag>s added.  Similar behavior with Release, it just adds two <myReleaseTag>s.  I have a colleague with version 2.5.1 of SlowCheetah and it does not exhibit this behavior.
      
      Thank,
      Patrick
    • Hi, I cannot reproduce this. Tried with both VS2010/VS2012 and multiple machines. Could you give specific steps that I can follow from a new project? 
  • ClickOnce for VSTO Addin for VS2010
    2 Posts | Last post March 02, 2013
    • Hi,
      
      We are working on VSTO Addin for Excel on VS 2010 and using this tool for transformation. When we build it is transforming, but not when we publish. And this will then be integrated for TFS builds as well.
      
      It seems to work for WPF and Windows publish.
      Are we missing anything here? Any pointers would be helpful.
      
      Thanks
    • I've never tried this scenario before, so am not surprised that it doesn't work. If you'd like this feature please create a new entry at http://slowcheetah.uservoice.com/. Once it gets enough votes I will consider implementing the feature.
  • Using SlowCheetah Without NuGet?
    2 Posts | Last post March 02, 2013
    • I stumbled upon SlowCheetah last week. Very cool extension. I see it has been recently upgraded to be NuGet dependent. This causes a couple problems for my group:
      
      1. We have made the decisions that developers should not use NuGet.
      
      2. Our TFS build server is not Internet facing, so downloading from NuGet as part of the build is not possible.
      
      If I could find a link to the older version of SlowCheetah, we could use that. Even that though is not ideal, as we would be stuck on an old version, not being able to take advantage of new features.
      
      Any other groups in the same situation as myself and any thoughts from the developer on this? Thanks.
    • Thanks for the comments. Are your concerns that it uses NuGet or that it connects to the internet? If it is related to connecting to the internet take this into consideration.
      When SlowCheetah is installed if you have a custom local repo defined in VS it will pull packages from that location instead of from nuget.org. You could also put a feature request in at http://slowcheetah.uservoice.com/ for SlowCheetah to drop the NuGet package on install and then reference it from that location instead of going to nuget.org. This should be pretty straight forward and I should be able to implement it.
      
      If the concern is simply the fact that it uses NuGet, then take the following points into consideration.
      1. NuGet is used by many projects types by default in VS 2012.
      2. Microsoft will be investing more in NuGet (i.e. its not going away anytime soon, and it will be used more and more)
      3. Benefits to using the NuGet package:
      3.1 When SlowCheethah is installed by one developer, all devs will get the transform behavior even if they didn't install the package.
      3.2 When SlowCheetah is executed from an automated build package restore facilitates transforming the XML files.
      
      With those points the benefits out weigh the negatives.
      
      If you'd like to use a version which has the previous behavior the best thing to do is to fork the repo at https://github.com/sayedihashimi/slow-cheetah and build whatever version you desire. I won't be supporting that though, you'd be on your own.
      
      I hope you consider these points.
      
      Thanks,
      Sayed Ibrahim Hashimi
  • Viktor Kuznetsov
    4 Posts | Last post March 02, 2013
    • We plan to use SlowCheetah to transform config files in the studio and on build server TeamCity.
      
      Example:
      
      <MSBuild Projects="WebUi\WebUi.csproj"
      Targets="Build"
      Properties="
      Configuration=$(Configuration);
      Platform=$(Platform);             
      DeployOnBuild=true;
      PublishProfile=$(PublishProfile);"></MSBuild>
      
      Transformation: Web.config + Web.$(Configuration).config + Web.$(PublishProfile).config
      
      http://www.hanselman.com/blog/TinyHappyFeatures3PublishingImprovementsChainedConfigTransformsAndDeployingASPNETAppsFromTheCommandLine.aspx
      
      We would like to use this scheme to other configuration files, such as App.config and NLog.config and etc.
      
      How?
    • I found answer for question http://sedodream.com/2012/12/24/SlowCheetahBuildServerSupportUpdated.aspx :)
    • Why packageRestore.proj is created in project and not in root of solution? Have to call a build packageRestore.proj before each build project.
    • Its at the project level because NuGet package restore is a project level concept. With that said if you have multiple projects in a solution which each have SlowCheetah you only need to invoke the packageRestore.proj for one project. All the files for the solution go into the same folder. So there is no benefit of calling packageRestore.proj multiple times for the same solution.
  • Work with Visual Studio 2008
    5 Posts | Last post February 25, 2013
    • Hi,
      
      I'm working on visual studio 2008 environment. I read the compatibility with only 2010 or 2012. 
      
      Is there an older versions which supports 2008 visual studio?
      
      Can you post the link?
      
      I'm trying to use this to my BIDS 2008 app to configure test and dev environment.
      
      Thanks! 
    • Sorry, there is no support for VS 2008.
    • So that means in order to use it, I should install SQL Server/BIDS 2012. Correct?
    • Also, do you recommend any other plugins or recommended way to achieve multi environment config files for the same SSIS package. I would appreciate it.
    • SlowCheetah does not have any support for DB projects. I'm not sure what support you were envisioning there. We are prioritizing features at http://slowcheetah.uservoice.com/. The best thing to do here is to create an item with the behavior you are looking for. After that we can prioritize that work against the other requests.
  • Unit testing with MSTest
    2 Posts | Last post February 17, 2013
    • Hi,
      
      I was wondering if anyone has managed to get this working with MSTest and deploying item.
      
      I have a BBCSearch.config file that has transforms for the different Environments. This file get transformed and outputted to the correct directory when build.
      
      I can not find away to deploy the TRANSFORMED file to the test directory 
      
      When i add it as a deployment items as <projectpath>\BBCSearch.config, the original file is copied not the TRANSFORMED file.
      
      Any ideas?
    • Sorry I do not have much knowledge in this area, perhaps someone else in the community may be able to help out.
  • Missing Build Configuration Transform Files
    4 Posts | Last post February 07, 2013
    • We have a solution with 8 different build configurations. When I right-click on an app.config file in one of the projects and choose "Add Transform", only app.Debug.config and app.Release.config transform files are created. In other solutions, SlowCheetah works as expected. Anyone have any idea what's going on? Here's a list of the build configurations we have:
      
      Debug
      Debug (with DB Deploy)
      IntegrationDeploy
      Production
      Release
      SIT
      Test
      UAT
      
      Could the problem be based on one of the build configuration names? Thanks in advance. Using VS 2010 with SlowCheetah 2.5.1.
      
      
    • I'm having the same issue on VS2012.  Did you figure it out?
    • The issues is likely how you have created your build configurations. In VS when you create a build configuration it asks if you want to create a Project Configuration as well. You should check that checkbox. With SlowCheetah the transforms are based on Project Configurations, not solution config.
    • Just solved this, which is somewhat embarrassing, but the issue is that the individual project doesn't have all the configurations that the solution does.  Manually adding the new configurations should fix the issue.
  • ClickOnce not working
    3 Posts | Last post February 06, 2013
    • I just installed version 2.5.2.  I'm trying to publish a WPF application for ClickOnce.  I just started up a blank WPF project, added a transform to the App.config, and published.  When I install the application, the config file isn't there.  Can anybody else confirm?  I'm using Visual Studio 2012 Ultimate.
      
      What I do see is that an App.config.deploy file gets created in the publish\Application Files\WpfApplication1_1_0_0_0\obj\Debug\SlowCheetah directory when I publish.  When the application is installed, an App.config file gets created using that same folder structure, but there's no WindowsApplication1.exe.config file created where the application needs it.
    • Hi Frank, sorry about that. I just posted a new version it should resolve this issue. Can you update and try again?
    • That fixed it.  Thanks a lot for your quick response.
  • How to Transform Value inside Colletion
    1 Posts | Last post January 31, 2013
    • I have a collection of nodes, in a particular node i want to find a node and replace its values. This is custom section
      
      <MoveTypes>
          <Type name="t1">
              <subType name="t1s1">
              </subType>
          
              <subType name="t1s2">
              </subType>
      
              <subType name="t1s3">
              </subType>
           <Type>
      
           <Type name="t2">
              <subType name="t2s1">
              </subType>
          
              <subType name="t2s2">
              </subType>
      
              <subType name="t3s3">
              </subType>
           <Type>
      
      
      </MoveTypes>
      
      How would i replace the Value in Type="t1" , subType ="t1s2" ?
      
      Also how can i write a sysntax, that if node is present replace it otyherwise insert it?
101 - 110 of 245 Items