<p>I have a T4 template that generates classes from an xml file. </p>

<p>How can I add a dependency between the xml file and the template file so that when the xml file is modified the template is rerun automatically without choosing "Run custom tool" from the context menu?</p>

How long does the tool take to execute? One lazy option might be to simply edit the csproj such that it
always
runs the tool during build (presumably via
```
<Exec ... />
```
or a custom
```
targets
```
file) - of course, this depends on it being quick to execute.
Another way would be to write a shim that works as the "Custom Tool" in VS, and simply calls the existing exe (or whatever) with the right args. Not trivial, but doable (
see here
) - I believe this then supposedly plays fairly nicely with change detection. It is actually on my list of things to do for a current project, so I'll find out soon enough...