Output logs are the primary tool for diagnosing problems with MSBuild scripts, and they will pretty much provide you with all the details you might need. If you track a specific problem, you can lower the level of detail and add explicit informational messages to your assembly:
<Message Importance="normal" Text="Some diagnostic info incl. property values" />
You can do real debugging if you write custom build steps and join the MSBuild binary.
First of all, what is the real problem. Understanding what you are trying to achieve and where you have problems can help.
I would also recommend reading Inside Microsoft® Build Engine: Using MSBuild and Team Foundation Build - this book should give you many answers that should prevent you from diagnosing the project first.
source share