Ошибка при выполнении команды TFS - PullRequest
1 голос
/ 13 января 2011

У меня исключение при звонке Workspace.Merge. Я получаю доступ к VersionControlExt из VisualStudio. Приведенный ниже код получает доступ к объекту окна обозревателя TFS Visual Studio (который активен в среде и пользователь вошел в систему).

VersionControlExt vce;
vce = _applicationObject.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt") as VersionControlExt;

MergeCandidate[] candidates = version.GetMergeCandidates(source, dest, RecursionType.Full);
Workspace ws = vce.Explorer.Workspace;

foreach (MergeCandidate mc in candidates)
{
 string comment = mc.Changeset.Comment;
 ChangesetVersionSpec csvs = new ChangesetVersionSpec(mc.Changeset.ChangesetId);


// HERE NULL REFERENCE EXCEPTION IS THROWN
GetStatus gs = ws.Merge(source, dest, csvs, csvs, LockLevel.None, RecursionType.Full, MergeOptionsEx.None);
}

Сведения об исключении

TargetSite: {System.String get_AuthorizedUser ()}

StackTrace

в Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer.get_AuthorizedUser () \ г \ п в Microsoft.TeamFoundation.VersionControl.Client.Workspace.get_DisplayName () \ г \ п в Microsoft.TeamFoundation.VersionControl.Client.Workspace.RequireLocal () \ г \ п в Microsoft.TeamFoundation.VersionControl.Client.Workspace.Merge (ItemSpec source, String targetPath, VersionSpec versionFrom, VersionSpec versionTo, LockLevel lockLevel, MergeOptionsEx mergeOptions, String [] propertyNameFilters) \ r \ n в Microsoft.TeamFoundation.VersionControl.Client.Workspace.Merge (ItemSpec source, String targetPath, VersionSpec versionFrom, VersionSpec versionTo, LockLevel lockLevel, MergeOptionsEx mergeOptions) \ r \ n в Microsoft.TeamFoundation.VersionControl.Client.Workspace.Merge (String sourcePath, String targetPath, VersionSpec versionFrom, VersionSpec версия, LockLevel lockLevel, RecursionType рекурсия, MergeOptionsEx mergeOptions) \ r \ n

Ответы [ 2 ]

1 голос
/ 13 января 2011

Что такое тип и сообщение исключения?

Какая версия Team Explorer локально? Какая версия TFS-сервера?

Учитывая get_AuthorizedUser на вершине стека, я подозреваю, что клиент TFS не может аутентифицировать & mdash; начните с проверки, что текущий каталог находится в сопоставленном рабочем пространстве, а текущий пользователь авторизован в TFS.

0 голосов
/ 13 января 2011

Нашел проблему.Чтобы использовать функциональность TFS, необходимо обратиться к Microsoft.TeamFoundation.VersionControl.Client.dll.У меня установлены как 9.0 Studio, так и 10.0 Studio.Я ссылался на dll из 10.0, в то время как фактически использовал 9.0 studio.Глупая ошибка, но отладка заняла часы.

...