У меня исключение при звонке 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