diff --git a/Prebuild/src/Core/Nodes/ProjectNode.cs b/Prebuild/src/Core/Nodes/ProjectNode.cs
index 0a24abf2f9..04af7a3582 100644
--- a/Prebuild/src/Core/Nodes/ProjectNode.cs
+++ b/Prebuild/src/Core/Nodes/ProjectNode.cs
@@ -90,6 +90,10 @@ namespace Prebuild.Core.Nodes
/// .NET 3.5
///
v3_5,
+ ///
+ /// .NET 4.0
+ ///
+ v4_0,
}
///
/// The Node object representing /Prebuild/Solution/Project elements
diff --git a/Prebuild/src/Core/Targets/VS2008Target.cs b/Prebuild/src/Core/Targets/VS2008Target.cs
index f30017b687..e685962b5a 100644
--- a/Prebuild/src/Core/Targets/VS2008Target.cs
+++ b/Prebuild/src/Core/Targets/VS2008Target.cs
@@ -120,7 +120,7 @@ namespace Prebuild.Core.Targets
#region Constructors
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
public VS2008Target()
: base()
diff --git a/Prebuild/src/Core/Targets/VS2010Target.cs b/Prebuild/src/Core/Targets/VS2010Target.cs
new file mode 100644
index 0000000000..8772d18595
--- /dev/null
+++ b/Prebuild/src/Core/Targets/VS2010Target.cs
@@ -0,0 +1,134 @@
+using System;
+using System.Collections;
+using System.Collections.Specialized;
+using System.IO;
+using System.Text;
+
+using Prebuild.Core.Attributes;
+using Prebuild.Core.Interfaces;
+using Prebuild.Core.Nodes;
+using Prebuild.Core.Utilities;
+using System.CodeDom.Compiler;
+
+namespace Prebuild.Core.Targets
+{
+
+ ///
+ ///
+ ///
+ [Target("vs2010")]
+ public class VS2010Target : VSGenericTarget
+ {
+ #region Fields
+ string solutionVersion = "11.00";
+ string productVersion = "9.0.21022";
+ string schemaVersion = "2.0";
+ string versionName = "Visual Studio 2010";
+ string name = "vs2008";
+ VSVersion version = VSVersion.VS10;
+
+ Hashtable tools;
+ Kernel kernel;
+
+ ///
+ /// Gets or sets the solution version.
+ ///
+ /// The solution version.
+ public override string SolutionVersion
+ {
+ get
+ {
+ return solutionVersion;
+ }
+ }
+ ///
+ /// Gets or sets the product version.
+ ///
+ /// The product version.
+ public override string ProductVersion
+ {
+ get
+ {
+ return productVersion;
+ }
+ }
+ ///
+ /// Gets or sets the schema version.
+ ///
+ /// The schema version.
+ public override string SchemaVersion
+ {
+ get
+ {
+ return schemaVersion;
+ }
+ }
+ ///
+ /// Gets or sets the name of the version.
+ ///
+ /// The name of the version.
+ public override string VersionName
+ {
+ get
+ {
+ return versionName;
+ }
+ }
+ ///
+ /// Gets or sets the version.
+ ///
+ /// The version.
+ public override VSVersion Version
+ {
+ get
+ {
+ return version;
+ }
+ }
+ ///
+ /// Gets the name.
+ ///
+ /// The name.
+ public override string Name
+ {
+ get
+ {
+ return name;
+ }
+ }
+
+ protected override string GetToolsVersionXml(FrameworkVersion frameworkVersion)
+ {
+ switch (frameworkVersion)
+ {
+ case FrameworkVersion.v4_0:
+ return "ToolsVersion=\"4.0\"";
+ case FrameworkVersion.v3_5:
+ return "ToolsVersion=\"3.5\"";
+ case FrameworkVersion.v3_0:
+ return "ToolsVersion=\"3.0\"";
+ default:
+ return "ToolsVersion=\"2.0\"";
+ }
+ }
+
+ public override string SolutionTag
+ {
+ get { return "# Visual Studio 2010"; }
+ }
+
+ #endregion
+
+ #region Constructors
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public VS2010Target()
+ : base()
+ {
+ }
+
+ #endregion
+ }
+}
diff --git a/Prebuild/src/Core/Targets/VSGenericTarget.cs b/Prebuild/src/Core/Targets/VSGenericTarget.cs
index 84f1df5061..fdcc2b909a 100644
--- a/Prebuild/src/Core/Targets/VSGenericTarget.cs
+++ b/Prebuild/src/Core/Targets/VSGenericTarget.cs
@@ -173,7 +173,7 @@ namespace Prebuild.Core.Targets
#region Project File
using (ps)
{
- ps.WriteLine("", GetToolsVersionXml(project.FrameworkVersion));
+ ps.WriteLine("", this.Version == VSVersion.VS10 ? "4.0" : "3.5");
ps.WriteLine(" ");
ps.WriteLine(" Local");
ps.WriteLine(" {0}", this.ProductVersion);
diff --git a/Prebuild/src/Core/Targets/VSVersion.cs b/Prebuild/src/Core/Targets/VSVersion.cs
index f477086778..59549b00a9 100644
--- a/Prebuild/src/Core/Targets/VSVersion.cs
+++ b/Prebuild/src/Core/Targets/VSVersion.cs
@@ -45,6 +45,10 @@ namespace Prebuild.Core.Targets
///
/// Visual Studio 2008
///
- VS90
+ VS90,
+ ///
+ /// Visual Studio 2010
+ ///
+ VS10
}
}
diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe
index e58657ca70..eb4c224ac5 100755
Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ
diff --git a/prebuild.xml b/prebuild.xml
index 81f907deef..1c44ebff2a 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -3135,7 +3135,7 @@
-
+
../../../bin/
diff --git a/runprebuild2010.bat b/runprebuild2010.bat
new file mode 100644
index 0000000000..8c832b3313
--- /dev/null
+++ b/runprebuild2010.bat
@@ -0,0 +1,2 @@
+bin\Prebuild.exe /target vs2010
+echo C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild OpenSim.sln > compile.bat