diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2010-01-18 20:10:18 -0800 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2010-01-18 20:10:18 -0800 |
commit | 47ba4e9c49be9479b7c3d30613cab982ecda042d (patch) | |
tree | 07a2a747a70e13d80aedd41294a0a3e94f60b192 /src/DotNetOpenAuth.BuildTasks/SnToolTask.cs | |
parent | 1f79fcb88004d86372b7392f51b914af826f1b9d (diff) | |
parent | cdb850c6cf90381e6db75365272b7d65ef5fe359 (diff) | |
download | DotNetOpenAuth-47ba4e9c49be9479b7c3d30613cab982ecda042d.zip DotNetOpenAuth-47ba4e9c49be9479b7c3d30613cab982ecda042d.tar.gz DotNetOpenAuth-47ba4e9c49be9479b7c3d30613cab982ecda042d.tar.bz2 |
Merge branch 'master' into simpleauth
Conflicts:
src/DotNetOpenAuth.vsmdi
src/DotNetOpenAuth/DotNetOpenAuth.csproj
Diffstat (limited to 'src/DotNetOpenAuth.BuildTasks/SnToolTask.cs')
-rw-r--r-- | src/DotNetOpenAuth.BuildTasks/SnToolTask.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/DotNetOpenAuth.BuildTasks/SnToolTask.cs b/src/DotNetOpenAuth.BuildTasks/SnToolTask.cs new file mode 100644 index 0000000..29896fe --- /dev/null +++ b/src/DotNetOpenAuth.BuildTasks/SnToolTask.cs @@ -0,0 +1,37 @@ +//----------------------------------------------------------------------- +// <copyright file="SnToolTask.cs" company="Andrew Arnott"> +// Copyright (c) Andrew Arnott. All rights reserved. +// </copyright> +//----------------------------------------------------------------------- + +namespace DotNetOpenAuth.BuildTasks { + using System; + using System.IO; + using Microsoft.Build.Utilities; + + public abstract class SnToolTask : ToolTask { + /// <summary> + /// Gets the name of the tool. + /// </summary> + /// <value>The name of the tool.</value> + protected override string ToolName { + get { return "sn.exe"; } + } + + /// <summary> + /// Generates the full path to tool. + /// </summary> + protected override string GenerateFullPathToTool() { + string[] versions = new[] { "v6.0A", "v6.1", "v7.0a" }; + string fullPath = null; + foreach (string version in versions) { + fullPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), @"Microsoft SDKs\Windows\" + version + @"\bin\" + this.ToolName); + if (File.Exists(fullPath)) { + return fullPath; + } + } + + throw new FileNotFoundException("Unable to find sn.exe tool.", fullPath); + } + } +} |