views:

176

answers:

2

With a seriously big .NET site/solution (100's of assemblies), are there any tools available to recognise which assemblies have changed since the last build (using something more intelligent than file dates that will always change).

I need to change our deployment process to a) increment the version of changed assemblies and b) generate a delta release to include these modified assemblies.

My current approach for our ASP.NET web site and Biztalk servers is to re-deploy the full solution after a build - this can take up to 3 hours (most of the time is spent undeploying and redeploying the BizTalk applications).

Microsoft recommend that we version our assemblies and only deploy those assemblies that have changed to reduce our deployment window. I would like to automate this as much as possible.

We are currently using MSBuild, TFS and good "old fashioned" people to manage our build process.

A: 

One of the great traceability features in Team Build is how it tracks changesets, as well as, work items associated to changesets from build to build.

We use these build summaries to help us generate our release notes between versions. We use a build definition what we run manually when we are ready to deploy a validated version, where the last time the build was run was the date we deployed the previous validated version. This roles up all changes between those two build dates and provides us a comprehensive report for generating the release notes.

Mr. Kraus
+4  A: 

Have a look at NDepend. I believe you can use it to generate reporots of just that sort of thing and use these as inputs to your deployment process

Conrad
Thanks, this will work for our .NET solutions I will check to see if this will work for our BizTalk 2006 solutions (these do not use the standard MSBuild format)
Jon Simpson