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

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

by CloudKarthik | Tue 8:54 AM

SlowCheetah doesn't work with Windows azure Web/worker Role projects.

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!

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


  • Visual Studio 2013
    1 Posts | Last post August 09, 2013
    • Can we expect an update for VS2013 in the near future by any chance? Was very sad to find out this is not currently compatible. Only extension from my toolset that is missing currently :/
  • Wrong filename on build server
    1 Posts | Last post August 06, 2013
    • This just recently started happening after an upgrade to Azure 2.1 NuGet components (not that this is related).  Anyway, my SlowCheetah transformations are still working on the build server, the problem is the output file name is wrong.
      
      I need myproject.dll.config to be the result of the transform, instead it is only transforming app.config.
      
      How do I tell SlowCheetah to output its transform result as myproject.dll.config?
      
      Thank you.
  • TransformXml skipped due to false condition
    2 Posts | Last post July 25, 2013
    • SlowCheetah has worked for me before to transform my App.config, using App.Debug.config, etc. This is in a Windows Service application.  It has worked on the build server, where I deploy by git cloning, as well without any extra steps. But now I've cloned my repo after a fresh install and it's not working for me. My OS is the same as it was before (Windows 7, 64-bit).
      
      Here's a clip from the build output:
      ...
      1>Task "SlowCheetah.Xdt.TransformXml" skipped, due to false condition; ( Exists('%(RelativeDir)%(Filename).$(Configuration)%(Extension)')
      1>                              and '%(Link)'=='' ) was evaluated as ( Exists('.Debug')
      1>                              and ''=='' ).
      ...
      
      Thanks for your help.
    • This turned out to be my own mistake. The namespace for some application settings had changed and I hadn't updated the xml in my App.Debug.config.  So they just weren't being copied because they didn't match.  It's working now. 
      
      Oddly enough, I'm still seeing the same message in my build output.
  • Build Error on MVC project when combined wtih MvcBuildViews option
    4 Posts | Last post July 15, 2013
    • First this is a fantastic tool, thank you.  I have a web project where we use the configSource option to redirect the web.config's AppSettings config section to an external file.  Your plugin is working great for transforming the dedicated AppSettings file *except* when we use the following option in our MVC Project:
      
      <MvcBuildViews>true</MvcBuildViews>
      
      Using this setting over any Property Group invokes the aspnet_compiler to check MVC Views and/or Web Forms for compilation errors during the build process. When this property is set to true the configuration will not build, throwing the following error:
      
      {local dir}\{Solution}\{WebAppProject}\obj\{config}\csautoparameterize\original\web.config : error ASPCONFIG: An error occurred loading a configuration file: Directory 'C:\Data\Repositories\IPMS\IPMS.WWW\obj\dev-debug\csautoparameterize\original\App_Data\config' does not exist. Failed to start monitoring file changes.
      
      In our case the web.config file uses the configSource to redirect the following out into separate config files:
      
      appSetttings --> /App_Data/config/appSettings.config
      connnectionStrings --> /App_Data/config/connectionStrings.config
      
      Does this have to due with the timing of what files get transformed first?  Is there a workaround you are aware of?
      
      Thanks!
    • Wow sorry Sayed my message got sandwiched all together.  I'll send you a formatted equivalent to your inbox.  Thanks
    • Hi DaFlookie, I just responded back to your email. We can just work it out there.
    • Hello, I see that the discussion is quite old but I have a similar problem. If it's possible could you please say what the solution to the described problem was?
  • Use SlowCheetah for other file extensions
    1 Posts | Last post July 08, 2013
    • Is it possible to use SlowCheetah for any other file extension? AnyConfig.config.transform for example? The reason for this requirement is that the sitecore cms include it's own merging logic for config files by application start. We solve this problem by using ctt and the suffix *.transform. But this tooling doesn't allow to use the great preview tool comes with slowcheetah. It's only console magic.
      
      
      
      
      
  • Visual Studio 2013 Support
    1 Posts | Last post July 02, 2013
    • I realize this is early but I have come to rely heavily on SlowCheetah and wonder when you will have a build that targets VS2013.
  • XML Transformation error if comma in attribute value
    2 Posts | Last post June 22, 2013
    • Hello,
      
      I have this lines in my app.config files :
      <unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
        <containers>
          <container>
            <types>
              <type type="Edenred.Framework.Caching.ICacheManager, Edenred.Framework" 
                    mapTo="Edenred.Framework.Caching.HttpRuntimeCacheManager, Edenred.Framework.Caching">
                <lifetime type="singleton" />
              </type>
      
      And here is my xml transformation fille :
      <unity xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xmlns="http://schemas.microsoft.com/practices/2010/unity">
          <containers>
              <container>
                  <types>
                      <type mapTo="Edenred.Framework.Caching.AppFabricCacheManager, Edenred.Framework.Caching"
                            xdt:Transform="SetAttributes(mapTo)"
                            xdt:Locator="XPath(unity/containers/container/types/type[@type='Edenred.Framework.Caching.ICacheManager, Edenred.Framework'])"/>
                  </types>
              </container>
          </containers>
      </unity>
      
      My xpath query below is valid (tested on internet with a XPath validator) :
      /unity/containers/container/types/type[@type='Edenred.Framework.Caching.ICacheManager, Edenred.Framework']
      
      But I have this error when I try to transform XML config with Slow Cheetah :
      "XPath requires exactly 1 argument"
      
      If I remove the "," in the value of the "type" attribute, that works.
      
      Thanks for your help.
    • This is caused by a bug in the Microsoft.Web.Publishing.Tasks.dll assembly. There is an easy workaround in your situation, which is to wrap your type attribute in parantheses, e.g.
      XPath(unity/containers/container/types/type[@type='Edenred.Framework.Caching.ICacheManager, Edenred.Framework']) =>
      XPath(unity/containers/container/types/type[(@type='Edenred.Framework.Caching.ICacheManager, Edenred.Framework')])
      
  • SlowCheetah and NLog config files?
    1 Posts | Last post June 14, 2013
    • Does SlowCheetah support NLog config files? I was able to use the "Add Transform" function to create NLog.Debug.config and NLog.Release.config but when I edit NLog.Release.config I don't get the Intellisense for the xdt xml entries. 
  • SlowCheetah transforms &quot wrong
    1 Posts | Last post June 13, 2013
    • I have a Sitecore include config file with the following XML. I have added a transform to this config, but before I add anything to the transform, it changes the following
      <setting name="InvalidItemNameChars">
      	<patch:attribute name="value">\/:?&quot;&lt;&gt;|[]</patch:attribute>
      </setting>
      to
      <setting name="InvalidItemNameChars">
        <patch:attribute name="value">\/:?"&lt;&gt;|[]</patch:attribute>
      </setting>
      Why will &quot; be converted to ", when I have added nothing to the transform.
  • Build error with Slow Cheetah
    1 Posts | Last post June 04, 2013
    • I am trying to run msbuild on Hudson build server. The builds fail with following error - 
       D:\Hudson\jobs\MyProj\ASSEMBLIES\SlowCheetah\SlowCheetah.Transforms.targets(101,5): error : Name cannot begin with the '<' character, hexadecimal value 0x3C. Line 23, position 1. [D:\Hudson\jobs\MyProj\MyProj.csproj]
      
      The same project however builds from Visual Studio. Any idea what might be wrong here?
51 - 60 of 224 Items