33 lines
1.3 KiB
C#
33 lines
1.3 KiB
C#
using System.IO;
|
|
using Microsoft.TeamFoundation.VersionControl.Client;
|
|
using Sep.Git.Tfs.Core;
|
|
using StructureMap;
|
|
|
|
namespace Sep.Git.Tfs.VsCommon
|
|
{
|
|
public abstract class TfsHelperVs2012Base : TfsHelperBase
|
|
{
|
|
protected abstract string TfsVersionString { get; }
|
|
protected TfsHelperVs2012Base(TextWriter stdout, TfsApiBridge bridge, IContainer container)
|
|
: base(stdout, bridge, container) { }
|
|
|
|
protected override bool HasWorkItems(Changeset changeset)
|
|
{
|
|
return Retry.Do(() => changeset.AssociatedWorkItems.Length > 0);
|
|
}
|
|
|
|
private string vsInstallDir;
|
|
protected override string GetVsInstallDir()
|
|
{
|
|
if (vsInstallDir == null)
|
|
{
|
|
vsInstallDir = TryGetRegString(@"Software\WOW6432Node\Microsoft\VisualStudio\" + TfsVersionString, "InstallDir")
|
|
?? TryGetRegString(@"Software\Microsoft\VisualStudio\" + TfsVersionString, "InstallDir")
|
|
?? TryGetUserRegString(@"Software\WOW6432Node\Microsoft\WDExpress\" + TfsVersionString + "_Config", "InstallDir")
|
|
?? TryGetUserRegString(@"Software\Microsoft\WDExpress\" + TfsVersionString + "_Config", "InstallDir");
|
|
}
|
|
return vsInstallDir;
|
|
}
|
|
}
|
|
}
|