вы можете использовать VersionControlServer.GetTeamProjectForServerPath на ожидании изменения таким образом:
var pendingChange = pendingCheckin.GetAllPendingChanges().FirstOrDefault();
if(pendingChange != null) {
return vcs.GetTeamProjectForServerPath(pendingChange.ServerItem);
}
Это также означает, что вы можете обнаружить, если в ожидании изменений в нескольких командных проектах.
Edit/расширения:
Теперь, когда я думаю об этом, вы, вероятно, следует использовать локальный путь, так как файлы, вы проверяете в не может быть на сервере еще (добавляет).
Таким образом, вы можете использовать вместо Workspace.GetTeamProjectForLocalPath:
var workspace = pendingCheckin.GetWorkspace();
var pendingChange = pendingCheckin.GetAllPendingChanges().FirstOrDefault();
if(pendingChange != null) {
return workspace.GetTeamProjectForLocalPath(pendingChange.LocalItem);
}
Как вы хотите использовать его? Рабочее пространство и checkin могут охватывать проекты ... – bryanmac
Я работаю над политикой регистрации, которая копирует любой файл, который в настоящее время проверяется, из локальной рабочей области разработчика в другое место. Это место будет отличаться в зависимости от того, какой Team Project принадлежит – jpsnow72
. Я не понимал, что регистрация может сканировать несколько проектов. Если это помогает, у меня всегда будет другое рабочее пространство для каждого командного проекта, но я мог бы сделать это для каждого проекта, если бы мог каким-то образом получить список всех проектов, в которые файл проверяется. – jpsnow72