ShowBuildStep - Display Custom Build Steps

May 4, 2009 at 7:06 AM
Edited May 4, 2009 at 7:07 AM
The FreeToDev ShowBuildStep task isn't available in this MSBuild Extension Pack.
Until now i though that MSBuild Extension Pack is the successor of FreeToDev, but i might be mistaking?

If not, why isn't the ShowBuildStep implimented? ;)

PS: Link!EC3C8F2028D842D5!194.entry
May 4, 2009 at 9:08 AM

The ShowBuildStep task was dropped as it was implemented as the 'BuildStep' task in TFS 2008:

Are you using TFS 2005?

May 4, 2009 at 1:11 PM
Nope, im using TFS 2008.
I didn't look at the BuildStep task, i was just following an example which used ShowBuildStep.

Anyway i did read the whole "Using MSBuild and Team Foundation Build" book last week writen by Sayed Ibrahim Hashimi. Maybe i should read it again and again, but i believe that he didn't mention the MSBuild Extensions ;)
U should write a book "Diving into MS Build Extensions" hehe.

I wrote my own custom task and create an target file for TFSVersion like u mentioned.
Still searching for:
- a way to skip some referenced 3rd party sources with AssemblyInfo in it (maybe not include them in the project, or exclude them from the batch Files part)
- the task for CommonAssemblyInfo.cs to set the companyname, etc foreach module (not 3rd party sources)
May 4, 2009 at 3:14 PM
Pages 223 and 229 :-)

Can you elaborate on what you are still searching for, there may be something in the pack or it may be worth adding something.

May 5, 2009 at 7:21 AM
Page 223.. Starting and Stopping Services with MSBuild Extension Pack, indeed..
Page 229.. Zipping Output Files, Then Uploading to an Ftp Site with MSBuild Extension Pack..

Yes, some references, but u could write a whole book about the Extension Pack ;)

Anyway im still trying to find how to:
- skip 3rd party projects from being versionnumbered;
- skip building not modified projects within a solution;
- merge 2 differend MSBuild droppoints together.

I could create several solutions and foreach solution an own build definition with exclusion sets in the workspace.
But that is just alot of work.

Then we have branches:
- Main (source which has been internal tested, build quality's: Ready for Release test & Ready for Release)
- Development (source to do workitems on, build quality's: Ready for Initial Test & Ready for Promotion)
- Releases\..\Main
- Releases\..\Development

So many build definitions to define! :(

I'm glad that MSBuild has .target files ;)
May 6, 2009 at 8:15 AM
btw, i learned something important..
I wanted to do build steps within an project file (not the builddefinition)

DO NOT import the teamfoundation build targets there!
Because the AfterCompile target will be overriden and things won't be done as they should.

  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" />

Un a project file u can import the buildstep task yourself.

  <UsingTask TaskName="Microsoft.TeamFoundation.Build.Tasks.BuildStep"
             AssemblyFile="$(TeamBuildRefPath)\Microsoft.TeamFoundation.Build.Tasks.dll" />