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 am extremely frustrated with SlowCheetah. I tried to use it in many occasions and it never quite worked for me. The main problem is that I have multiple configurations like: QA, UAT, PRD, Live, Local, DEV, etc and I want to be able to define those myself. Attempting to change the configuration manager of the solution causes an array of problems that need hours to be resolved. Notably, the underlying projects will still not generate the new build configs, which leads to build problems, DLL issues and finally I can't get rid of Debug and Release configurations of which I don't want any configs to be generated. Also if I add my configurations to the configuration manager, How hard is it to let the user define these in a simple XML file? Until this very simple feature is added, SlowCheetah is of no use to me and I assume many other developers
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'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?
I'm looking for a way to use msbuild together with slowcheetah to produce/publish *only* the transformed files.
MSBuild [path to project file] /t:TransformAllFiles /p:Configurat
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.
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
If I simply create a new WPF application and enable "Enable ClickOnce security settings" I get the error.
I've created an app that illustrates the problem
VS 2012 update 3
installed VS slowcheetah expansion
create wpf 4.5
enable ClickOnce security
I'm having the same Problem with Version 220.127.116.11, 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 18.104.22.168 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!
Sorry switching to .NET 4.0 caused the extension to not work in VS2010. I've just released 22.214.171.124 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.
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 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.
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?
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 126.96.36.199 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.
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 :)
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.
I'm using the SlowCheetah 2.5.8 NuGet package for config transforms and it's automatically transforming XML character references as follows
<param name="Header" value=" [HEADER]"/>
<param name="Header" value="
How do I keep the original XML character references intact?