public override void Dispose()
{
base.Dispose();
if (_eventAggregator != null)
{
_eventAggregator.GetEvent<SelectChangesetEvent>().Unsubscribe(OnSelectedChangeset);
_eventAggregator.GetEvent<BranchSelectedChangedEvent>().Unsubscribe(OnBranchSelectedChanged);
}
var tfs = Context.TeamProjectCollection;
if (tfs != null)
{
var versionControl = tfs.GetService<VersionControlServer>();
if (versionControl != null)
{
versionControl.CreatedWorkspace -= RefreshWorkspaces;
versionControl.UpdatedWorkspace -= RefreshWorkspaces;
versionControl.DeletedWorkspace -= RefreshWorkspaces;
}
}
}