Files
git-tfs/GitTfs.VsCommon/TfsHelper.Vs2012Base.cs
T
2014-07-15 17:34:48 +02:00

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;
}
}
}