TFS 2012 - TfsSyncIdentities

Update 17/12/2012: Neno has now published his official 2012 version. The .exe can be found here

A number of our customers use the TfsSyncIdentities tool by Neno Loje. When running the TfsSyncIdentities on a 2012 instance the following error appeared:

image

I fired up an instance of ILSpy to try to understand what the application was doing. It turns out that the application is using a service reference to call to the JobService web service.

My guess was that the web service had changed in some way in 2012. I created a new console application in visual studio and copied the code from the Main method disassembled in ILSpy and placed it in my application. I then added a service reference to http://TFS:8080/tfs/TeamFoundation/Administration/v3.0/JobService.asmx. Once I added the required references, I had to change the following method call from:

1 1: jobWebServiceSoapClient.QueueJobsNow(new Guid\[\]  

2: {

1 3: Guid.Parse("544dd581-f72a-45a9-8de0-8cd3a5f29dfe")  

4: }, true);]

1
2To

1: jobWebServiceSoapClient.QueueJobs(new Guid[]

1 2: {  

3: Guid.Parse("544dd581-f72a-45a9-8de0-8cd3a5f29dfe")

1 4: },true, 0);
2```
3
4Hit F5 and you should have a TfsSyncIdentities application that works with TFS 2012. When run against a 2010 instance the sync still ran successfully with the new version of the application.
5
6[![image](/wp-content/uploads/sites/19/historic/image_thumb_2.png "image")](/wp-content/uploads/sites/19/historic/image_2.png)