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'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 ???
I have WebApp I have been using SC on successfully but after the 2.5.5 update the publish fails. I get "Could not write Destination file: access to the path******** denied. The path is my connection.config file which as the transforms. I remove the transforms and the build succeeds. Is the 2.5.1 or 2.5.2 build available for download to see if the issue goes away? I am using VS 2010
I've heard of this issue but have been unable to reproduce it. For a project which has this issue could you try the following. In the packages folder there is a SlowCheetah folder. Under that you will find a tools folder. Can you replace the SlowCheetah.Transforms.targets with the file at https://raw.github.com/sayedihashimi/slow-cheetah/1f90325f2d1a72f221fe116289c1a8c14c43ccfa/SlowCheetah/Resources/Install/SlowCheetah.Transforms.targets. After that close and re-open VS and see if the issue continues or not. If that fixes it I may ask you for some build logs to see what the difference is here.
This seems to have worked. I had to place the targets file under MSbuilds as I didn't have packages folder. It did successfully build the solution and the transforms look correct. I noticed a change of reference between the two targets files.
This file: https://raw.github.com/sayedihashimi/slow-cheetah/1f90325f2d1a72f221fe116289c1a8c14c43ccfa/SlowCheetah/Resources/Install/SlowCheetah.Transforms.targets
It's not available. I'm getting a 404 error on that site.
Has this been solved yet? I'm having the exact same problem. I have just setup xml transformation and on my first build on the build server I'm getting this access error.
I'm using VS12 Update2. Changing that .targets file manually is not a solution for us because we are using package restore on the server. I don't want to check-in that slowcheetah package.
System: VS2010 Ultimate SP1, TFS 2010 (also build server), SlowCheetah 2.5.5
On a brand new project, I added SlowCheetah 2.5.5 via NuGet to my web project. As many others have stated, it did not build correctly when run on my MSbuild server. It would continually error out with "... SlowCheetah.Transforms.Could not write Destination file: access to the path '(fullpath)\Application.Config' is denied." Since I did not have a previous version also installed, I could not use the previously suggested .targets file since that requires the SlowCheetah.Tasks.dll library.
Through the NuGet package manager, I removed v2.5.5 from my project and added SlowCheetah.Tasks.Unofficial instead. After checking in all of the solution/project changes associated with switching versions and running a new build, the project built successfully.
TL;DR: If you're using SlowCheetah 2.5.5 and getting the 'Destination file access denied' error, try switching to SlowCheetah.Tasks.Unofficial available in NuGet.
After further testing, using SlowCheetah.Tasks.Unofficial was not correctly transforming files upon running MSBuild. I reverted back to SlowCheetah 22.214.171.124 (via the package manager console), modified my build per http://sedodream.com/2012/12/24/SlowCheetahBuildServerSupportUpdated.aspx and everything is happy again - transforms work perfectly.
I'm still not able to reproduce this. I looked a log files from two different machines in which one works and the other doesn't and still was not able to see what the issue was. I was thinking that the issue was isolated to Visual Studio.
This is the first that I'm hearing of this from a build server.
Martin, could you help me out here? If you could that would be awesome. Could you produce a build log of a 2.5.5 project failing and then convert to 2.5.3 and succeeding?
My email is email@example.com.
Sayed Ibrahim Hashimi
Could this error be related as to whether or not you have 4.0 or 4.5 installed?
I see this error on machines configured like mine using VS2010 Pro except that .NET 4.5 is installed on my and isn't installed on their machines (they have .NET 4.0 though)
I think there might be an issue with .NET 4.5 not installed that is causing this.
I did a clean install of VS2010, SP1, MVC 3, MVC4 and .NET 4.0. The build wasn't working correctly with the MSBuild task for Slow Cheetah 2.5.5. I then installed .NET 4.5 and the build started working fine with my setup and the MSBuild task for Slow Cheetah 2.5.5
Please look into this if at all possible
I can confirm that this is an issue with .NET 4.5. I'm using VS2012 Professional with TFS 2010 as a build server. I checked in the SlowCheetah package and my build server got ""Could not write Destination file...." error. After installing .NET 4.5 on the build server the build is now working.
Having the same issue as the users above. Did anyone get this working? I have a solution with a console app proj, a web app proj, and a test proj. I used nuget to install SlowCheetah (2.5.5) in the console app proj. It shows in the packages.config. Right-clicking on my App.config file does not show Add Transform menu item. Any help?
Thanks, I think at the time you wrote the entry the NuGet package would only work with projects which had use the VS extension to add the Import. Since then I've fixed that and if you directly install the package it adds the Import.
Could you please elaborate on that? I just installed the VS extension and added the NuGet package instead, so that my team can use SlowCheetah without installing the extension. In doing that, the "Add Transform" disappeared.
In the description of your tool it is said
"When you build your applicatoin the files are transformed and dropped into the output directory. "
"For web projects the files are transformed ONLY when you publish or package your application."
How can I invoked the transformation to debug web project without publish?
I've asked the question on http://stackoverflow.com/questions/10332800/how-to-replace-web-config-with-transformed-for-debug-file-when-running-wap-in-vi, but haven't get a good suggestion.
i have a Wpf-project with SlowCheetah on board. The project include a folder with the settings.config file. It's an XML-file with different settings. I added a transform to it for the Release configuration. And it work when i build the project. With Debug build i have one config, and with release build i Have another. So far so good. But when i publish the project i always get Debug config. Can you help me?
Some details: VS2012, SlowCheetah 2.5.5, the settings.config has Build Action=Content, and it is always copied into output.
There is a sample project to illustrate the problem but i don;t know how to attach it.
Hi, I'd like to exclude certain transformation files from source control because they contain sensitive info. I noticed I have the option to exlude the app.config file, but not the "subfiles" created by this extension. How can I make sure the sensitive info doesn't make it's way to source control?
Hello, I have a hard time to set up app.config, app.debug.config and app.release.config in my console application.
If in the local app.config there is “<add key="ServiceID" value="R2" />”. And in the server it should be
<add key="ServiceID" value="R1" />.
I can’t use “R1” in mylocal machine to debug, otherwise an exception is thrown out.
I did add <appSettings xdt:Transform="Replace"> in the app.release.config.
Then the value is “R1” in app.release.config and it is “R2” in app.debug.config. Is it right?
1) What is the value in app.config? "R1" or "R2"? I need a direct answer.
2) When I check in the code app.config, What is the value in app.config?
A little explaination is appreciated.