TFS2010のC#とTFS APIを使って最近チェックインしたファイルを探したいのですが、MS Visual Studio 2010がインストールされていれば、 。これは、VS2010を使用して開発された私はシステムで、このexeファイルを使用する場合は、 "何の作業フォルダCがありません*:\ TFS" として、.NET 3.5はC#TFS API VS2008がインストールされているシステムにC: TFSというワーキングフォルダがありません
VS2008がインストールされたとすると、エラーがスローされます。 *は
- このシステムのフレームワークは3.5です。
- I copi C:¥Program Files¥Microsoft Visual Studio 10.0¥Common7¥IDE¥ReferenceAssemblies¥v2.0のすべてのファイルを実行可能ファイルと共に編集します。
- C:\ TFSは実際のマッピングフォルダです。インナーフォルダも試してみました。
ご提案ください。 ローカルマッピングを考慮せずにTFSから結果を得る方法はありますか?
TeamFoundationServer tfsServer = new TeamFoundationServer("http://snchndevtfsapp:8080/tfs/defaultcollection");
WorkItemStore workItemStore = new WorkItemStore(tfsServer);
VersionControlServer vcServer = tfsServer.GetService(typeof(VersionControlServer)) as VersionControlServer;
var usersWorkspaces = vcServer.QueryWorkspaces(null, vcServer.AuthorizedUser, Environment.MachineName).ToList();
List<ChangedTFSItem> foundPastChanges = new System.Collections.Generic.List<ChangedTFSItem>();
var allPastChangesets = vcServer.QueryHistory(@"C:\TFS",
VersionSpec.Latest,
0,
RecursionType.Full,
null,
null,
null,
1000,
true,
false).Cast<Changeset>();
//.Where(x => x.Committer.Contains(Environment.UserName));
List<ChangedTFSItem> _foundPastChanges = allPastChangesets
.SelectMany(x => x.Changes)
.Where(x => x.Item.CheckinDate.Date >= ((DateTime)dateEdit1.EditValue))
//.DistinctBy(x => x.Item.ServerItem, x => x.Item.ServerItem.GetHashCode())
.Select(x => new ChangedTFSItem()
{
FileName = Path.GetFileName(x.Item.ServerItem),
ServerItem = usersWorkspaces[0].GetLocalItemForServerItem(x.Item.ServerItem).Replace(textEdit1.Text, ""),
LocalPath = usersWorkspaces[0].GetLocalItemForServerItem(x.Item.ServerItem),
ChangeTypeName = x.ChangeType.ToString(),
ChangeDate = x.Item.CheckinDate.ToString()
}).ToList();
です。ありがとう –