From dd9640cda82bca8125289f292238ea6b447cc6e9 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Thu, 19 Feb 2009 12:48:38 +0000
Subject: === PREBUILD UPSTREAMS UPDATE : POTENTIAL BREAKAGE ===
* Applied upstreams changes to allow for auditing and debugging in our various environments.
* This should, in theory, bring back 'multiple ref dirs'.
* Temporarily Removed xmlns because prebuild-1.7 schema does not allow for multiple solutions per prebuild node (This will be a moot issue once the Prebuild node is moved out of prebuild.xml)
* Autotools target: Various minor fixes
* MonoDevelop Target : No changes.
* Nant Target: Various minor fixes, support for net-3.5 and mono-2.0/3.5 targets
* Sharpdevelop targets: No changes.
* VS Targets: Refactored into using VSGenericTarget, and supports 2.0-3.5
* XCode Target: No changes.
--- Regressions and outstanding issues ---
* The Solution is assigned a random Guid - will lead to unnecessary reloads and loss of user settings.
--- New features of Prebuild 2.0.4 ---
* (Better) support for Web, WinForms and Database Projects and build actions
* Conditional Framework Version compilation support (1.1, 2.0-3.5)
* ArrayList -> List<>, ICollection -> IList
(this means Prebuild can generate 1.1 solutions, but can't itself be built under 1.1 - how very meta)
* Added preprocessor directive.
---
Prebuild/src/Core/Targets/VS2008Target.cs | 152 ++++++++++++++++++++++--------
1 file changed, 114 insertions(+), 38 deletions(-)
(limited to 'Prebuild/src/Core/Targets/VS2008Target.cs')
diff --git a/Prebuild/src/Core/Targets/VS2008Target.cs b/Prebuild/src/Core/Targets/VS2008Target.cs
index 88bb5e6..f30017b 100644
--- a/Prebuild/src/Core/Targets/VS2008Target.cs
+++ b/Prebuild/src/Core/Targets/VS2008Target.cs
@@ -1,56 +1,132 @@
using System;
-using System.Collections.Generic;
+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("vs2008")]
- public class VS2008Target : VS2005Target
- {
- protected override string SolutionTag
- {
- get { return "# Visual Studio 2008"; }
- }
- protected override string SolutionVersion
- {
- get
- {
- return "10.00";
- }
- }
+ ///
+ ///
+ ///
+ [Target("vs2008")]
+ public class VS2008Target : VSGenericTarget
+ {
+ #region Fields
+ string solutionVersion = "10.00";
+ string productVersion = "9.0.21022";
+ string schemaVersion = "2.0";
+ string versionName = "Visual Studio 2008";
+ string name = "vs2008";
+ VSVersion version = VSVersion.VS90;
- protected override string VersionName
- {
- get
- {
- return "Visual C# 2008";
- }
- }
+ Hashtable tools;
+ Kernel kernel;
- protected override string ToolsVersionXml
- {
- get
- {
- return " ToolsVersion=\"3.5\"";
- }
- }
+ ///
+ /// 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 ProductVersion
+ protected override string GetToolsVersionXml(FrameworkVersion frameworkVersion)
{
- get
+ switch (frameworkVersion)
{
- return "9.0.21022";
+ case FrameworkVersion.v3_5:
+ return "ToolsVersion=\"3.5\"";
+ case FrameworkVersion.v3_0:
+ return "ToolsVersion=\"3.0\"";
+ default:
+ return "ToolsVersion=\"2.0\"";
}
}
- public override string Name
+ public override string SolutionTag
{
- get
- {
- return "vs2008";
- }
+ get { return "# Visual Studio 2008"; }
}
- }
+
+ #endregion
+
+ #region Constructors
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public VS2008Target()
+ : base()
+ {
+ }
+
+ #endregion
+ }
}
--
cgit v1.1