Commentor Blog

When Quality Matters

Commentor A/S

When Quality Matters

Contact usSend mail

Recent comments

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2012

Retrieving the build history from Team Foundation Server using the Visual Studio 2010 SDK

In this short article I would like to demonstrate how to use the Visual Studio 2010 SDK to retrieve the Build History for a specific Team Project and Build Definition and retrieve the Change Sets and Work Items associated to the build. Before getting started we need to install the Visual Studio 2010 SDK.

The namespaces used in this sample are included in the following assemblies: 

  • Microsoft.TeamFoundationServer.Client
  • Microsoft.TeamFoundationServer.Build.Client -
  • Microsoft.TeamFoundationServer.VersionControl.Client
  • Microsoft.TeamFoundationServer.WorkItemTracking.Client 

 
using System;
using System.Diagnostics;
using Microsoft.TeamFoundation.Build.Client;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
 
namespace BuildHistory
{
    class Program
    {
        static void Main(string[] args)
        {
            Trace.Listeners.Add(new ConsoleTraceListener());
 
            var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("[TFS SERVER URL"), new UICredentialsProvider());
            tfs.EnsureAuthenticated();
 
            var buildServer = tfs.GetService<IBuildServer>();
            var versionControl = tfs.GetService<VersionControlServer>();
 
            var buildDetails = buildServer.QueryBuilds("[TEAM PROJECT NAME]", "[BUILD DEFINITION NAME]");
            foreach (var build in buildDetails)
            {
                Trace.WriteLine("Build: " + build.BuildNumber);
 
                var changesets = InformationNodeConverters.GetAssociatedChangesets(build);
                if (changesets == null)
                    continue;
 
                foreach (var summary in changesets)
                {
                    Trace.WriteLine("Changeset Summary: " + summary.ChangesetId + " " + summary.Comment);
 
                    var changesetItem = versionControl.GetChangeset(summary.ChangesetId);
                    foreach (var file in changesetItem.Changes)
                        Trace.WriteLine("Affected file: " + file.Item.ServerItem);
 
                    foreach (var workItem in changesetItem.WorkItems)
                        Trace.WriteLine("Work Item: " + workItem.Id + " " + workItem.Title);
                }
 
                Trace.WriteLine(string.Empty);
            }
 
            Console.ReadLine();
        }
    }
}
 

I hope you found this useful 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by christian.resma.helle on Wednesday, August 04, 2010 3:34 AM
Permalink | Comments (0) | Post RSSRSS comment feed

Improve .NETCF Build Performance in Visual Studio

A lot of .NETCF developers are surprisingly not aware of the Platform Verification Task in Visual Studio. Disabling this in the build process will speed up the build of .NETCF projects. To make things quick and short, here's what you need to do:

1) Open the file C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.CompactFramework.Common.targets for editing.

2) Change the following:

   99   <Target
  100     Name="PlatformVerificationTask">
  101     <PlatformVerificationTask
  102       PlatformFamilyName="$(PlatformFamilyName)"
  103       PlatformID="$(PlatformID)"
  104       SourceAssembly="@(IntermediateAssembly)"
  105       ReferencePath="@(ReferencePath)"
  106       TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
  107       PlatformVersion="$(TargetFrameworkVersion)"/>
  108   </Target> 

to:

   99   <Target
  100     Name="PlatformVerificationTask">
  101     <PlatformVerificationTask
  102       Condition="'$(DoPlatformVerificationTask)'=='true'"
  103       PlatformFamilyName="$(PlatformFamilyName)"
  104       PlatformID="$(PlatformID)"
  105       SourceAssembly="@(IntermediateAssembly)"
  106       ReferencePath="@(ReferencePath)"
  107       TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
  108       PlatformVersion="$(TargetFrameworkVersion)"/>
  109   </Target>
 
The following configuration above was an excert from an article called Platform Verification Task leading to slow builds on compact framework projects

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by christian.resma.helle on Wednesday, July 28, 2010 4:51 AM
Permalink | Comments (1) | Post RSSRSS comment feed

Guide to upgrading TFS2005 to TFS2008

The link below is a guide to upgrading TFS2005 to TFS2008. It includes descriptions of different errors and work arounds for these found during a number of upgrades of various TFS installations. Further a number of the steps in the official upgrade guide is further detailed or corrected.

 

Team Foundation Server upgrade from 2005 to 2008.docx (35,18 kb)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by jorn.floor.andersen on Tuesday, December 09, 2008 3:52 PM
Permalink | Comments (3) | Post RSSRSS comment feed

Materiale fra ALM seminar 13-11-2008: Projektstyring med TFS

Projektledelse med Team System 2008:

Projektledelse med Team System 2008.pdf (797,04 kb)

Projektledelse med Team System 2010:

Projektledelse med Team System 2010.pdf (383,65 kb)

Reports for VSTS 2008:

VSTS 2008 Reports.pdf (852,24 kb)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by jorn.floor.andersen on Saturday, November 15, 2008 6:15 AM
Permalink | Comments (11) | Post RSSRSS comment feed

Tech Talk Statisk Kode analyse

TecTalken gennemgik, hvorledes Visual Studio Team System 2008's statiske analyse kan benyttes til at højne ensartetheden og kvaliteten. Det blev gennemgået hvorledes reglerne kan tilpasses og nye regler kan implemeneteres. Herudover blev der fremlagt en "hvordan kommer vi i gang strategi".

 

Powerpoint ligger i Statisk Kodeanalyse Techtalk.pptx (722,96 kb)

Og regel-eksemplerne ligger i CommentorFxCopRules.zip (9,77 kb)

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by ole.hedegaard on Wednesday, October 15, 2008 7:25 AM
Permalink | Comments (9) | Post RSSRSS comment feed

Tech Talk: Visual Studio Team System Profiler

TechTalken gennemgik, hvorledes Visual Studio Team System 2008 Profiler kan benyttes til nemt at finde flaskehalsene i C# programmer. Der blev gennemgået, hvilke muligheder profileren giver udvikleren.  

Der blev givet to praktiske eksempler på, hvorledes profileren bedst kan benyttes i forskellige scenarier til at finde flaskehalse, og hvad der kan gøres for at afhjælpe disse: Mandelbrot Fraktal tegningsprogram og et database deserialiseringsproblem.   

Gennemgangen af profileren dækkede de to metoder til performance-målinger: Sampling versus Instrumentering.  Herefter gennemgik jeg de forskellige views på de opsamlede målinger med fokus på hvilke, der kan bruges til hvad. 

Jeg har vedhæftet Profiler Techtalk.pptx (656,39 kb), et ”pseudo” profiler FattigMandsProfiler.zip (3,86 kb), og de to eksempler før optimeringen  DbTrial_Org.zip (3,70 kb) og   MandelC_.zip (22,46 kb).

Den sidste med tak til http://www.codeproject.com/KB/graphics/mandelbrot.aspx

Takker for det fine fremmøde og gode spørgsmål...

Efter ønske er her det optimerede datainitialiseringsprojekt: DbTrial_Tech_Talk.zip (3,63 kb)

Og analysen af forbedringen - en lidt skuffende faktor 290, men som det ses bruges tiden nu til en connection-open, så jo flere rækker des større forbedring:

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by ole.hedegaard on Wednesday, October 01, 2008 7:29 AM
Permalink | Comments (8) | Post RSSRSS comment feed

Unit Testing for Smart Devices Webcast

On the 28th of February 2008, Microsoft Denmark will have the first and largest online launch for Windows Server 2008, SQL Server 2008, and Visual Studio 2008. We made a few webcasts related to the products and technologies to be released. Here's one that I made entitled "Unit Testing for Smart Devices"

http://blogs.commentor.dk/downloads/smart_device_unit_testing.wmv

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by christian.resma.helle on Thursday, February 21, 2008 2:44 AM
Permalink | Comments (2) | Post RSSRSS comment feed