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
I've been coding large financial trading frameworks in VS/C# since .NET 1.1 days (12/13 years). From this perspective, I can affirmatively state that Slow Cheetah is by far the most productive package that is not currently integrated into the VS tool. I'm walking through a major rollout now involving five different staging environments and over twenty different server configs. Without Slow Cheetah, the other 35 people in the deployment team waiting on my builds would be left high and dry while I tried to manage the configs by hand. VS management - what the *hell* are you thinking? Integrate!
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".
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.
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.
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).
I have this lines in my app.config files :
<type type="Edenred.Framework.Caching.ICacheManager, Edenred.Framework"
<lifetime type="singleton" />
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">
<type mapTo="Edenred.Framework.Caching.AppFabricCacheManager, Edenred.Framework.Caching"
My xpath query below is valid (tested on internet with a XPath validator) :
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']) =>
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.
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
Why will " be converted to ", when I have added nothing to the transform.
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?
Slow Cheetah has worked perfectly for over a month. Now, all of the sudden, my builds are not transforming. I do have the configuration setup on multiple projects within the solution. Both projects have the associated Debug & Release configuration files associated with the parent app.config file.
Here is an example of my transformation statement.
<add name="MSSQL" connectionString="ConnectionStringHere" xdt:Transform="Replace" xdt:Locator="Match(name)"/>
After building in either Debug or Release, I am checking the (ApplicationName).exe.config file. Here, the values do not change. I have even selected the "Preview Transformation" and the preview works without failure. It seems like Slow Cheetah is not getting the call during build.
I have uninstalled and re installed the Slow Cheetah extension. No luck.
Any recommendations on how to fix this problem?
I am able to create an entirely new project and the transforms work fine. It would appear something became corrupt or missing altogether. It seems odd that both projects would do this simultaneously.
I'm trying to use SlowCheetah on an .edmx file to change an attribute of the Schema element from ProviderManifestToken="2008" to ProviderManifestToken="2005".
But, before I can get even that far I created the most minimal transformation file which only includes the root element. Previewing the transform should result in no changes, but what happens is that the final section of the transformed EDMX files has been changed. It incorrectly changes the <Designer> element to <edmx:Designer>.
Here's the transform file I'm starting with:
<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations
see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
I imagine this problem could be reproduced with any edmx file.
I have installed SlowCheetah - XML Transforms and installed SlowCheetah using the Nuget Package Manager. I am using Visual Studio Professional 2012 Update 2.
I have an .net console application where SlowCheetah is working successfully for me. I created a Release build of my .net console application and placed it in a different directory.
When I use Visual Studio 2012 to access this copy of the .net console application SlowCheetah does not show as an installed package. I then attempted to install SlowCHeetah using the Nuget Package Manager. A window appears with messages about the install progressing. The window closes and the package does not show under the installed packages in Nuget Pacakage manager. Because the installation fails the transforms are not working.
Is there an installation log file that I can read to see if any errors happened during installation.
I have just installed slow cheetah. I have other config files such as connectionStrings.config in my web project. When I build they are getting transformed and updating the config files in my application route.. The default behavior is for them to only transform on publish?
I've been using this tool for windows apps and it works perfect..
What I was expecting though - that after I add it to the WEB-MVC project and hit "F5" (as the picture above says - the transform would be applied.
How do I make this work for WEB projects ?