VersionControlExt.Explorer 如果我从解决方案资源管理器调用,则为 NULL,但如果我从源代码管理资源管理器调用,则它给了我价值
VersionControlExt.Explorer is NULL if I call from solution explorer but if I call from Source Control Explorer then It is giving me value
我正在开发一个插件,用于查看在解决方案资源管理器中单击按钮时的自定义更改集。
我需要 VersionControlServer 参考,但如果我从解决方案资源管理器中单击按钮,我将无法获得参考,但是如果从源代码管理资源管理器中单击按钮,则它可以正常工作。但我需要从解决方案资源管理器/团队资源管理器中调用它。
this.m_applicationObject = _applicationObject;
this.versionControlExt = (VersionControlExt)this.m_applicationObject.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt");
this.versionControlServer = this.versionControlExt.Explorer.Workspace.VersionControlServer;
VersionControlExt.Explorer is NULL if I call from solution explorer
but if I call from Source Control Explorer then It is giving me value
使用VersionControlExt.Explorer
恐怕得不到你想要的。
VersionControlExt.Explorer
仅适用于 Source Control Explorer
而不是 Solution Explorer
。
从 this official document 看到这个:
相反,我使用了 tfs 服务器的 url 来获取版本控制资源管理器。
var projectCollectionUri = new Uri(TFS_COLLECTION);
var projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(projectCollectionUri, new Microsoft.VisualStudio.Services.Common.VssCredentials());
projectCollection.EnsureAuthenticated();
this.versionControlServer = projectCollection.GetService<VersionControlServer>();
我正在开发一个插件,用于查看在解决方案资源管理器中单击按钮时的自定义更改集。
我需要 VersionControlServer 参考,但如果我从解决方案资源管理器中单击按钮,我将无法获得参考,但是如果从源代码管理资源管理器中单击按钮,则它可以正常工作。但我需要从解决方案资源管理器/团队资源管理器中调用它。
this.m_applicationObject = _applicationObject;
this.versionControlExt = (VersionControlExt)this.m_applicationObject.GetObject("Microsoft.VisualStudio.TeamFoundation.VersionControl.VersionControlExt");
this.versionControlServer = this.versionControlExt.Explorer.Workspace.VersionControlServer;
VersionControlExt.Explorer is NULL if I call from solution explorer but if I call from Source Control Explorer then It is giving me value
使用VersionControlExt.Explorer
恐怕得不到你想要的。
VersionControlExt.Explorer
仅适用于 Source Control Explorer
而不是 Solution Explorer
。
从 this official document 看到这个:
相反,我使用了 tfs 服务器的 url 来获取版本控制资源管理器。
var projectCollectionUri = new Uri(TFS_COLLECTION);
var projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(projectCollectionUri, new Microsoft.VisualStudio.Services.Common.VssCredentials());
projectCollection.EnsureAuthenticated();
this.versionControlServer = projectCollection.GetService<VersionControlServer>();