diff --git a/Prebuild/src/Core/Nodes/OptionsNode.cs b/Prebuild/src/Core/Nodes/OptionsNode.cs
index 86ca0a9f79..a562acf5b6 100755
--- a/Prebuild/src/Core/Nodes/OptionsNode.cs
+++ b/Prebuild/src/Core/Nodes/OptionsNode.cs
@@ -297,6 +297,24 @@ namespace Prebuild.Core.Nodes
}
}
+ [OptionNode("OutDir")]
+ private string m_OutDir = "bin/";
+
+ ///
+ ///
+ ///
+ public string OutDir
+ {
+ get
+ {
+ return m_OutDir;
+ }
+ set
+ {
+ m_OutDir = value;
+ }
+ }
+
[OptionNode("OutputPath")]
private string m_OutputPath = "bin/";
@@ -673,6 +691,14 @@ namespace Prebuild.Core.Nodes
return m_FieldsDefined.Contains("m_" + name);
}
+ // Return the names of all the fields that have had a value set
+ public IEnumerable AllDefined()
+ {
+ foreach (string name in m_FieldsDefined) {
+ yield return name.Substring(2);
+ }
+ }
+
///
/// Copies to.
///
diff --git a/Prebuild/src/Core/Targets/VSGenericTarget.cs b/Prebuild/src/Core/Targets/VSGenericTarget.cs
index d05702024e..1e9bc68d0c 100755
--- a/Prebuild/src/Core/Targets/VSGenericTarget.cs
+++ b/Prebuild/src/Core/Targets/VSGenericTarget.cs
@@ -592,14 +592,10 @@ namespace Prebuild.Core.Targets
if (conf.Name == "unknown")
{
ps.WriteLine(" ");
- string[] optionNames = new string[] { "OutputPath", "OutputType", "RootNamespace" };
- foreach (var opt in optionNames)
+ foreach (string opt in conf.Options.AllDefined())
{
- if (conf.Options.IsDefined(opt))
- {
- ps.WriteLine(" <{0}>{1}{0}>", opt,
- Helper.EndPath(Helper.NormalizePath(conf.Options[opt].ToString())));
- }
+ ps.WriteLine(" <{0}>{1}{0}>", opt,
+ Helper.EndPath(Helper.NormalizePath(conf.Options[opt].ToString())));
}
ps.WriteLine(" ");
ps.WriteLine();
diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe
index 09f797f440..c2a7b1d67b 100755
Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ