MSBuild: Determine Available Tasks and Outputs

It can be hard, when using MSBuild, to know what Tasks (aka Targets aka functions) are available, especially when using the built-in .targets files associated with the compilers. So, I wrote a custom Task that iterates over all the other Tasks that are currently loaded and outputs their [Output] properties. To use it, just drop the .DLL so that MSBuild can find it, open your existing MSBuild project file, and add the following:

\<UsingTask AssemblyFile="TasksAndOutputs.dll" TaskName="TasksAndOutputs"/>
\<Target Name="AfterBuild">

And run MSBuild.

Binary and Source-Code Download.

Oh, it's also a decent-enough sample of extending MSBuild with a custom task.