、
を...しかし、これは私が使用したコードである(と私は苦労なタイミングで適切な解決策を見つけることを覚えておいてください):
を
teamProjectCollection = new TfsTeamProjectCollection(new Uri(collectionUri), new TfsClientCredentials());
teamProjectCollection.Authenticate();
versionControl = teamProjectCollection.GetService<VersionControlServer>();
(注:このような資格情報を使用して、VSで使用するもの から自動的に選択されます)
その後、私はすべてのワークスペース(あなたの場合には、それだけであってもよい)を得る - ことができますサーバーとクライアントのために右のmatching paths
を取得するために
versionControl.QueryWorkspaces(null, null, computerName)
.SelectMany(x => x.Folders); // returns IEnumerable<WorkingFolder>
必要なワークスペースを選ぶ(つまり、何らかの理由で動作しない場合Workstation
クラスは、同じことを、これはありません)、あなたは両方のローカルおよびサーバーを持っていますパス
LocalSourcePath = folder.LocalItem;
ServerPath = folder.ServerItem;
...そして、私は実際のファイル(および例えばをダウンロードしてServerPath
とversionControl
を使用あなたはそれが役に立てば幸い...これはおそらく、あなたのケースのために多少異なりますが、あなたはここから具体的な詳細を詰めることができるはずです、...)LocalSourcePathに対して
foreach (Item item in
versionControl.GetItems(serverPath, VersionSpec.Latest, RecursionType.Full, DeletedState.NonDeleted, ItemType.Any, true).Items)
{
string target = Path.Combine(downloadPath, item.ServerItem.Substring(2));
if (item.ItemType == ItemType.Folder && !Directory.Exists(target))
{
Directory.CreateDirectory(target);
}
else if (item.ItemType == ItemType.File)
{
item.DownloadFile(target);
}
}
それらを確認することができます。
少なくともローカルのTFSワークスペースのルートでアプリケーションを実行してください。 –
この問題により、tfsサーバーのURLが正しくないか、認証されたユーザーに作業領域を使用する権限が与えられていない可能性があります。それを確認できますか?また、 "tf workspaces"コマンドを実行して、ワークスペースをリストすることができるかどうかを確認してください。 –