调用时出现异常Workspace.Merge
。我正在VersionControlExt
从 VisualStudio 访问。下面的代码可以访问 Visual Studio TFS 资源管理器窗口对象(在环境中处于活动状态并且用户已登录)。
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);
}
异常详情
目标站点:{System.String get_AuthorizedUser()}
堆栈跟踪
在 Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer.get_AuthorizedUser()\r\n 在 Microsoft.TeamFoundation.VersionControl.Client.Workspace.get_DisplayName()\r\n 在 Microsoft.TeamFoundation.VersionControl.Client.Workspace.RequireLocal() \r\n 在 Microsoft.TeamFoundation.VersionControl.Client.Workspace.Merge(ItemSpec 源,字符串 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 versionTo, LockLevel lockLevel, RecursionType recursion, MergeOptionsEx mergeOptions)\r\n