Error with tfs-native after upgrade to 8.0.4

I upgraded my build servers last night from version 7 to the latest version 8 build. After doing the upgrade, one of my build agents is unable to connect to TFS and download the source code from the repository.

Our source code is stored in a TFS 2008 server. The server with the build agent that is failing has both Visual Studio 2010 and 2012 installed. I am getting the following error in the build log:

Failed to perform checkout on agent: TFS failed. ExitCode: 1, command: C:\BuildAgent\plugins\tfs-agent\bin\tfs-native.exe @@C:\BuildAgent\temp\globalTmp\TC-TFS-376-9156_5\command.params, in file: {http://irvtfs01:8080, /user:***** /password:***** /hash:A3, /noProxy, C:\BuildAgent\temp\globalTmp\TC-TFS-376-9156_3.result, CleanPatchMapped, C:\BuildAgent\temp\globalTmp\TC-TFS-376-9156_4.mappings, 52916, ForceGet, DeleteNonAliveWorkspaces}, completed in: 3 second(s)

stdout: TFS Native Verifier v8.0 Copyright (C) 2006-2013 JetBrains s.r.o.

Running under .NET Framework 4.0.30319.18052

INFO  -

INFO  - Use Team Explorer 2012

INFO-

TFS Native Accessor v8.0 Copyright (C) 2006-2013 JetBrains s.r.o.

INFO  - Connecting to server http://irvtfs01:8080

INFO  - WebProxy is disabled

ERROR - TF205073: The Team Foundation client cannot connect to the following server: http://irvtfs01:8080/. You must connect to Team Foundation Server 2008 or a later version. System.Exception: TF205073: The Team Foundation client cannot connect to the following server: http://irvtfs01:8080/. You must connect to Team Foundation Server 2008 or a later version. ---> Microsoft.TeamFoundation.TeamFoundationClientVersionCheckException: TF205073: The Team Foundation client cannot connect to the following server: http://irvtfs01:8080/. You must connect to Team Foundation Server 2008 or a later version.    at Microsoft.TeamFoundation.Client.TfsConnection.EnsureProviderConnected()    at JetBrains.TeamCity.Tfs.Command.Do() in c:\BuildAgent\work\23f504c63c17dfdf\TfsNativeAccessor\src\Command.cs:line 28    at JetBrains.TeamCity.Tfs.Program.<>c__DisplayClass5.<Main>b__2() in c:\BuildAgent\work\23f504c63c17dfdf\TfsNativeAccessor\src\Program.cs:line 101    at JetBrains.TeamCity.Tfs.Program.Main(String[] args) in c:\BuildAgent\work\23f504c63c17dfdf\TfsNativeAccessor\src\Program.cs:line 323    --- End of inner exception stack trace ---    at JetBrains.TeamCity.Tfs.Program.Main(String[] args) in c:\BuildAgent\work\23f504c63c17dfdf\TfsNativeAccessor\src\Program.cs:line 438

I believe that the problem is that the post-upgrade tfs-native.exe is trying to use Team Explorer 2012 instead of Team Explorer 2010 like it used to in order to download the source code from our TFS 2008 server. We have a lot of legacy code and it's going to be difficult to move up to a newer TFS server at the moment. Is there a way to force tfs-native.exe to use Team Explorer 2010 instead?

Thank you in advance.

1 comment
Comment actions Permalink

Starting from TeamCity 8.x TFS client prefers TFS 2012 Team Explorer APIs any earlier Team Explorer versions. In your case the earlier version could be either 2008 or 2010, Currently TeamCity tries to connect to your TFS server using Team Explorer 2012 (that is exactly the same was as Visual Studio 2012 does).

Could you please check you can connect your TFS server from Visual Studio 2012 on server/agent machines. It could be necessary to check weather you have all updates installed either on the server or on the client.

You may try to force TeamCity to use TFS 2010 API. For that you may create a file "tfs-native.exe.hint" with "10.0" as text content (in ASCII or UTF-8). The file should be places in 2 folders:
- <TeamCity Server>/Webapps/ROOT/WEB-INF/plugins/tfs/bin
- <TeamCity Server>/Webapps/ROOT/WEB-INF/plugins/tfs/agent/tfs-agent.zip!/tfs-agent/bin
Server restart is not required to make this change applied.

0

Please sign in to leave a comment.