在我的公司,我们最近成立了一个TeamFoundation代理我们的TeamFoundationServer.我编写了一个C#应用程序,它连接到TFS以查询各种内容.现在,我希望该应用程序也支持通过TFS代理连接.由于我对TFS并不熟悉,我遇到了一些困难.理想情况下,我希望应用程序只是"知道" TFS代理,并把它行为就像正常的TFS.这甚至可能吗?
我在做什么是这样的:
TfsTeamProjectCollection projects =
new TfsTeamProjectCollection(new Uri(serverUriString,
new NetworkCredential(username, password, domain));
Run Code Online (Sandbox Code Playgroud)
如果serverUriString是TFS(例如" http:// MyTfs:8080 "),这可以正常工作.当我用TFS代理替换它(例如" http:// MyTfsProxy:8081 ")时,我得到一些非特定的TeamFoundationServiceUnavailableException,最后它表明发生了一个http 404错误.404对我来说没有多大意义,我能够ping服务器,我可以从浏览器连接到它,Visual Studio也可以加入它.我是否需要设置与TFS和代理的连接?如果是的话,我该怎么做?
AddProxy()方法用于向TFS服务器注册代理服务器列表,以便客户端可以自动检测和使用代理服务器.
如果您只想将客户端配置为使用代理服务器,则没有属性可执行此操作.您必须设置注册表项或未记录的环境变量.
对于TFS2008客户端,注册表项是:
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\TeamFoundation\SourceControl\Proxy]
"Enabled"="True"
"Url"="http://someproxy:8081"
Run Code Online (Sandbox Code Playgroud)
对于TFS2010客户端,注册表项是:
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\TeamFoundation\SourceControl\Proxy]
"Enabled"="True"
"Url"="http://someproxy:8081"
Run Code Online (Sandbox Code Playgroud)
在任一TFS版本中,您都可以设置未记录的环境变量:
System.Environment.SetEnvironmentVariable("TFSPROXY",http://someproxy:8081);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2331 次 |
| 最近记录: |