What is the best practice for setting the SccAuxPath property in a Visual Basic .NET project for a distributed team?
We've recently moved to Team System and now a remote team needs access to our source. However, they use a different IP address to access the Team System server, and whenever they try to open a project, they are prompted to check out and change the project. Is there a way to work around this? It seems to be the 'SccAuxPath' property which is the problem.
EDIT: I found this a开发者_高级运维rticle which explains that there are three ways to support distributed teams using TFS - VPN, reverse proxy, and a hosted solution. I'm accepting Jason Whitehorn's answer as he's suggesting the first option, VPN, which seems the best. If this isn't possible for us I'll suggest the reverse proxy option.
Indeed it is the SccAuthPath
causing the problem. It has an explicit reference to TFS server. Modify the project file and use the keyword SAK
for all of the Scc properties. This tells TFS to figure out what the values are because it "Should Already Know" (Get it? SAK? Funny chaps those TFS devs).
In my case I changed:
<SccProjectName>%24/Project/Trunk/Source/A.Library.Tests</SccProjectName>
<SccLocalPath>.</SccLocalPath>
<SccAuxPath>http://myserver:8080</SccAuxPath>
<SccProvider>{4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}</SccProvider>
To this
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
I would assume (from the problems you are having) that your remote team is not accessing TFS via a VPN.
Regardless of how you local team and remote team are accessing TFS, the short of it is that both teams need to use the same server name when accessing TFS. Might I suggest using DNS entries instead of IP addresses. The DNS entries wouldn't need to be externally visible, and the local team could point to one IP while the remote team pointed to another.
精彩评论