【发布时间】:2011-06-08 09:57:07
【问题描述】:
调用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 源,字符串目标路径,版本规范 versionFrom, VersionSpec versionTo, LockLevel lockLevel, MergeOptionsEx 合并选项,字符串 [] propertyNameFilters)\r\n 在 Microsoft.TeamFoundation.VersionControl.Client.Workspace.Merge(ItemSpec 源,字符串目标路径,版本规范 versionFrom, VersionSpec versionTo, LockLevel lockLevel, MergeOptionsEx 合并选项)\r\n 在 Microsoft.TeamFoundation.VersionControl.Client.Workspace.Merge(字符串 源路径,字符串目标路径, VersionSpec versionFrom, VersionSpec versionTo, LockLevel lockLevel, Recursion类型递归, MergeOptionsEx mergeOptions)\r\n
【问题讨论】:
标签: c# .net visual-studio-2008 tfs tfs-sdk