2

我正在构建一个 VS2010 插件。此插件仅适用于我们的自定义项目类型,并创建一个菜单项,将输出程序集从当前解决方案复制到另一个解决方案。两者都在 TFS 控制之下。

我有以下代码:

var tfs = new TeamFoundationServer(address);
var version = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));
var workspace = version.GetWorkspace(System.Net.Dns.GetHostName().ToString(), version.AuthorizedUser);

workspace.PendEdit(dest);
System.IO.File.Copy(source, dest, true);

现在我想检查更改。问题是我不知道如何只选择我刚刚签出的那个文件?我在同一个项目和其他项目中还有其他待定更改。这会签入我签出的所有内容吗?我可以更有选择性吗?

4

1 回答 1

2
PendingChange[] pendingChange = workSpace.GetPendingChanges(dest);
workSpace.CheckIn(pendingChange, comments);

Workspace.GetPendingChanges 方法(字符串)

http://msdn.microsoft.com/en-us/library/bb139277(v=vs.100).aspx

参数

item:正在查询的项目的本地或服务器路径。

Workspace.CheckIn 方法

http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.workspace.checkin(v=vs.100).aspx

参数

changes 要签入的挂起更改集。如果不指定此参数,则将签入工作区中的所有更改。

评论 要与此签入关联的评论。可能为空。

于 2012-11-10T18:31:05.497 回答