Users may report
performance issues with Team Foundation Version Control. Sometimes it may be
something the TFS client is doing or sometimes it may be the server side. I have seen a
post
around source control permissions causing the issue. This is unlikely the cause in my case because
the user was able to work around the slowness by converting their workspaces to
server workspace's and then back to local.
I am trying to figure out what is causing this and came across this
post
regarding TFS Client Tracing. With a
few tweaks I was able to get it to work with Visual Studio 2013 Update 4.
Below is an updated
version for Visual Studio 2013.
- Shut down Visual Studio
- Using Windows Explorer navigate
to the following directory (my install was in Program Files (x86)
directory):
C:\Program
Files\Microsoft Visual Studio 12.0\Common7\IDE
- Make a backup copy of the
devenv.exe.config
- Edit devenv.exe.config by
adding the following before the last </configuration> :
<system.diagnostics>
<switches>
<add
name="TeamFoundationSoapProxy" value="4" />
<add
name="VersionControl" value="4" />
</switches>
<trace
autoflush="true" indentsize="3">
<listeners>
<add
name="myListener"
type="Microsoft.TeamFoundation.TeamFoundationTextWriterTraceListener,Microsoft.TeamFoundation.Common,
Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
initializeData="c:\tf.log"
/>
<add
name="perfListener"
type="Microsoft.TeamFoundation.Client.PerfTraceListener,Microsoft.TeamFoundation.Client,
Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</listeners>
</trace>
</system.diagnostics>
- Trace data will be written to
"c:\tf.log (blold above).
Change this file name if you prefer
- Save the file
- Start Visual Studio
- Run steps you are interested in
tracing
- Open c:\tf.log or the file you
specified it in step 5
- This writes a lot of data so
you will want to restore to the original setting when finished by copying
the original devenv.exe.config file back or commenting out the lines in
step 4 by surrounding the lines with <!-- and --> .