2
votes

I have some environment specific transforms for about 10 class library projects. These projects are all similar in architecture, especially the configuration files I want to transform. Out of the 10 projects, 2 of them transform via TFS Build. The rest do not.

If I open the project source that TFS (2010) downloaded and built it myself the transforms work for any project I build.

What could cause SlowCheetah to NOT transform via tfs but but does transform when I build the very same code manually? The build definitions all look similar as do the .csproj files.

1

1 Answers

1
votes

It looks like this was happening because test projects were building and overwriting the config file. When I changed the configuration to not include building the test projects the transforms started working.

UPDATE:

If you need a file to be copied over (like in my case a configuration file) then normally you would mark it as 'Content' and 'Copy always' (or newer or whatever). Once you decide to add transforms to that file then you should revert back to None and 'Do not copy'. Apparently SlowCheetah implicitly treats a file with transforms as signal to copy it to the output. If I had left it as 'Content' and 'Copy Always' any project (like the test project) that relies on it will overwrite (without the transforms being applied).