c# - 无法连接到 TFS 并从 C# 获取文件
问题描述
这是我使用的代码。有些日子它工作正常,但突然停止工作。
var TFS_UserName = "UserName";
var TFS_Pass = "Password";
var domain = "domain";
var tfsUri = System.Configuration.ConfigurationManager.AppSettings["TFSUri"];
Uri uri = new Uri(tfsUri);
NetworkCredential cred = new NetworkCredential(TFS_UserName, TFS_Pass, domain);
BasicAuthCredential basicCred = new BasicAuthCredential(cred);
TfsClientCredentials tfsCred = new TfsClientCredentials(basicCred);
tfsCred.AllowInteractive = false;
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(uri, tfsCred);
try
{
tpc.Authenticate();
}
catch (Exception ex)
{
return "User not Authorized" + ex.Message;
}
var vcServer = (VersionControlServer)tpc.GetService(typeof(VersionControlServer));
var LocalPath = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["FileSave"]);
var tempAddress = "File Path";
var i = vcServer.GetItem(@"$/Folder/Path/" + tempAddress + "/" + "FileName");
i.DownloadFile(LocalPath + "FileName");
这段代码突然开始在tpc.Authenticate(); 抛出异常;
例外情况是:TF400324:服务器https://tfs/Address不提供 Team Foundation 服务。技术信息(针对管理员):底层连接已关闭:发送时发生意外错误。
前来源:Microsoft.TeamFoundation.Client
内部示例:底层连接已关闭:发送时发生意外错误。
{Inner Ex:无法从传输连接读取数据:现有连接被远程主机强行关闭。}
解决方案
首先,您必须确保您可以在运行代码的机器上的 Web 门户中访问 TFS。
然后,尝试清理运行代码的计算机上的缓存文件夹。文件夹路径为:C:\Users\username\AppData\Local\Microsoft\Team Foundation\x.0\Cache
.
另外,请尝试删除与Control Panel\All Control Panel Items\Credential Manager
.