What is the MSBuild equivalent to ant's -project-help?
- by Jeremy Stein
I come from an ant background, and I'm starting to use msbuild. I want to create a .proj file with targets for clean, compile, deploy, etc. In ant, I would expect my user to run ant -project-help to get a list of the targets with their descriptions. There doesn't appear to be anything like this with msbuild, so I was thinking of setting DefaultTargets to "Help" and adding this target:
<Target Name="Help">
<Message Text="/t:Clean - Remove all bin folders and generated files"/>
<Message Text="/t:Compile - Generate assembly"/>
<Message Text="/t:Deploy - Install the assembly"/>
</Target>
When I run msbuild, I see this:
Microsoft (R) Build Engine Version 3.5.30729.1
[Microsoft .NET Framework, Version 2.0.50727.3053]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 5/13/2010 9:00:00 AM.
Project "C:\MyProject\MyProject.proj" on node 0 (default targets).
/t:Clean - Remove all bin folders and generated files
/t:Compile - Generate assembly
/t:Deploy - Install the assembly
Done Building Project "C:\MyProject\MyProject.proj" (default targets).
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:00.05
My target description are hidden among all the other output.
It feels like I have a paradigm-mismatch here. What's the best way to provide the build functionality I want so that users know where to find each target?