我有一些代码可以在 TFS 中自动创建构建定义。
现在我想在创建分支时调用此代码。
查看 API,我看到Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer中有一个BranchObjectCreatedEvent。
所以我在控制台应用程序中添加了一些代码来处理事件。
private static void MonitorBranchCreated()
{
try
{
TfsTeamProjectCollection tfs = InitialiseTfs();
var vcs = tfs.GetService<VersionControlServer>();
var projects = vcs.GetAllTeamProjects(true);
foreach (var project in projects)
{
project.VersionControlServer.BranchObjectCreated += BranchObjectCreated;
}
Console.WriteLine("Subscribed to TFS BranchObjectCreated Event - Awaiting Notification...");
Console.ReadLine();
}
catch (Exception exception)
{
DisplayError(exception);
}
}
private static void BranchObjectCreated(object sender, BranchObjectCreatedEventArgs e)
{
// Create the Build
}
问题是当我从 Visual Studio 中的源代码管理资源管理器创建分支时,该事件永远不会触发。
MSDN 文档是有限的,我找不到任何其他使用示例,所以我希望有人能够告诉我这是否是正确的方法。
如果是这样,为什么事件可能不会触发?如果没有,是否有另一种方法可以连接到 TFS 以便我可以处理与创建分支相关的事件?