In Visual Studio, when a source code file is changed, the project it belongs to will be built when the whole solution is being built. So far, so good. But what happens if you want some other files (read: non source code files) to have the same behavior?
In my case, I had some translation files (XML files), and a custom build event that converted them into a binary representation. So when one of the translation files changed, I wanted this change to trigger a build for the project the translation files were contained in, so that they could be converted into binary form (i.e., so that the build event was executed).
Visual Studio (at least version 2010) provides an easy but hidden way to achieve exactly this. After you’ve added the file(s) to your project, right-click them and choose Properties (Alt+Return).
Note: You need to open the properties for the files you want to trigger the build – don’t open the project’s properties. Also, you need to open the “Properties” dialog. You can’t do this from the “Properties” panel (which usually opens up when hitting F4).
Note 2: You could have selected multiple files to make them all trigger a build when changed in one step.
In the “Properties” dialog, under Configuration Properties –> General –> Item Type, you select Custom Build Tool. Then you hit “OK”. And that’s it.
Changing the file(s) should now trigger a build when you build the solution (via menu Build –> Build Solution).