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
This is a nifty tool, and I definitely would recommend if you you work in an environment where you need to change configuration setting information often during deployment.
We had several self-inflicted wounds with accidentally testing applications that had config entries that pointed to production instead of the quality assurance environment. Because of this we searched and found Slow Cheetah that let us separate the configs into Development, QA, and Production. Things are a lot safer now. Thanks for creating this.
Watched the Visual Studio Toolbox video on this some time ago, but have only just installed it. The tool is great and Its saving me heaps of time! No more building and deploying just to diff config files. Thanks for the work on this extension!
That is a cool stuff. That is to be installed on a develoer computer (VS). But how can I install on build server? Do you have any installation program for that?
Hi Yuri, see my blog post at http://sedodream.com/2012/12/24/SlowCheetahBuildServerSupportUpdated.aspx regarding how to get it working for build servers.
It's on the backlog https://github.com/sayedihashimi/slow-cheetah/issues/39. Should be the next major feature I work on. For web projects this support is much trickier than non-web projects.
Excellent. My app.config's are now updated with a Test, PreProd or Prod SQL Server connection string, even when running (rather than Deploying) my apps. A lifesaver - thanks!
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
<setting name="InvalidItemNameChars">
<patch:attribute name="value">\/:?"<>|[]</patch:attribute>
</setting>
to
<setting name="InvalidItemNameChars">
<patch:attribute name="value">\/:?"<>|[]</patch:attribute>
</setting>
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.
<connectionStrings>
<add name="MSSQL" connectionString="ConnectionStringHere" xdt:Transform="Replace" xdt:Locator="Match(name)"/>
</connectionStrings>
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?
***Update
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">
</edmx: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.
Hi,
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?
If i have slowcheetah installed I keep getting a 32bit version of log4net added. This in turn breaks my app as I have a 64bit machine.
Is there any way round this?
Hi,
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 ?
I'm running VS2012. After I add the transforms to either web.config or app.config, the only way to see the new transform templates is to "Show All Files" in solution Explorer. Why can't I expand the the .config files without showing all files? Am I missing a setting in VS2012 or ???
Thanks
Tony W