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
A real must if you wish to deploy to different machine with different configuration settings stored inside some other [filename].config. Still wonder why Microsoft don't have this functionality out of the box.
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.
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
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 ?
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.
I want to add transforms to an EPiServer license file. However, for this to be maintainable I need to replace all content in License.config. When I'm adding xdt:Transform="Replace" to the root node I get the following error:
"Could not write Destination file: Cannot insert the node in the specified location."
This applies to any file except Web.config. Any thoughts on this?
Your issue is likely the idea of replacing the root node. Try to alter any available nesting nodes or attributes.
If none of that works you may need to resort to additional post-build steps (if you haven't already).
We are trying to use SlowCheetah to create an XML Transforms for a "Telerik Windows Forms Project" (this is a project type added by the Telerik plugin) and we have noticed that the transformation just won't kick on build events, the transform preview though is working fine...
I'm suspecting this has somthing to do with the custom project type, am I right? did anyone else had any experience in making slowcheetah work for Telerik projects, or any other custom-plug-in-project types for that matter? is there any chance to make it work manually?
on a side note I'll use this opportunity to thank Sayed-Ibrahim for a really great tool, and productivity saver - which we use in almost all of our projects!
I know this supports the "Publish" option for deployment of Web Applications but does it work with Web Setup Projects?
VS 2013 extension ... https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d
I need to build an MSI installer for deployment.
Hey, I need some help.
I have 7-8 XML transformations, each of them belonging to DEBUG or RELEASE 'group'. I have a BASE Debug transform and a BASE Release transform. All other transforms are based on one of these two transforms, so I have to perform many copy/paste procedures to 'derive' more specific XML Transform.
I would like to avoid copying/pasting and have some kind of 'inheritance', is it possible to achieve this with SlowCheetah or plain XSLT? I am new to XSLT, so any references to XSLT would be appreciated as well.
Hi Sayed. I have a VS solution containing several projects being worked on by several developers via TFS/GIT mode. We require XML transformations for App.config and Web.config.
I tried installing via the download link above but was told my product is not supported. Is there a different solution for VS 2013 for Web?
I want to create transforms for each of our environments (e.g. "Dev", "QA", "Prod") and name them accordingly. Having transforms named after the build configuration (e.g. "Debug" or "Release") doesn't work for us. How can I set that up?
Sorry Michael for the intrusion but I had the same issue.
I already did what you suggested but still only Debug and Release are getting transformed. Once I use the environment specific config, the environment specific config files is just being copied instead of merging and transforming it with the main app.config.
I've noticed the the presence of the xmlns="" attribute in the <App> element in the Windows phone WMAppManifest.xml causes the transformations to fail. When xmlns="" is removed the transformations work but the app will not build and deploy. Any ideas how I can get round this?
We want to use SlowCheetah on developers computers without SlowCheetah installing. In this case we made following steps:
- Copy files SlowCheetah.Transforms.targets, SlowCheetah.Xdt.dll, Microsoft.Web.XmlTransform.dll to specified folder in solution
- Modify the project file: "<SlowCheetahTargets>$(MSBuildProjectDirectory)\..\SlowCheetah\SlowCheetah.Transforms.targets</SlowCheetahTargets>
- Reload project
- Uninstall SlowCheetah extension
We have occured following error after rebuild project:
Error 68 The "SlowCheetah.Xdt.TransformXml" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Web.XmlTransform, Version=220.127.116.11, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
How to fix it?