From e36c452d4e891073768fd70915a65531f806f831 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Thu, 19 Feb 2009 14:16:22 +0000
Subject: * Reverted Prebuild commit due to strange run-time errors.
---
Prebuild/src/Core/Targets/NAntTarget.cs | 859 +++++++++++++++++---------------
1 file changed, 451 insertions(+), 408 deletions(-)
(limited to 'Prebuild/src/Core/Targets/NAntTarget.cs')
diff --git a/Prebuild/src/Core/Targets/NAntTarget.cs b/Prebuild/src/Core/Targets/NAntTarget.cs
index 9a6ee17..eb5325d 100644
--- a/Prebuild/src/Core/Targets/NAntTarget.cs
+++ b/Prebuild/src/Core/Targets/NAntTarget.cs
@@ -1,9 +1,9 @@
#region BSD License
/*
Copyright (c) 2004 - 2008
-Matthew Holmes (matthew@wildfiregames.com),
-Dan Moorehead (dan05a@gmail.com),
-C.J. Adams-Collier (cjac@colliertech.org),
+Matthew Holmes (matthew@wildfiregames.com),
+Dan Moorehead (dan05a@gmail.com),
+C.J. Adams-Collier (cjac@colliertech.org),
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -35,6 +35,15 @@ POSSIBILITY OF SUCH DAMAGE.
#endregion
+#region CVS Information
+/*
+ * $Source$
+ * $Author: cjcollier $
+ * $Date: 2008-02-07 10:22:36 +0900 (Thu, 07 Feb 2008) $
+ * $Revision: 255 $
+ */
+#endregion
+
using System;
using System.Collections;
using System.Collections.Specialized;
@@ -49,73 +58,85 @@ using Prebuild.Core.Utilities;
namespace Prebuild.Core.Targets
{
- ///
- ///
- ///
- [Target("nant")]
- public class NAntTarget : ITarget
- {
- #region Fields
-
- private Kernel m_Kernel;
-
- #endregion
-
- #region Private Methods
-
- private static string PrependPath(string path)
- {
- string tmpPath = Helper.NormalizePath(path, '/');
- Regex regex = new Regex(@"(\w):/(\w+)");
- Match match = regex.Match(tmpPath);
- //if(match.Success || tmpPath[0] == '.' || tmpPath[0] == '/')
- //{
- tmpPath = Helper.NormalizePath(tmpPath);
- //}
- // else
- // {
- // tmpPath = Helper.NormalizePath("./" + tmpPath);
- // }
-
- return tmpPath;
- }
+ ///
+ ///
+ ///
+ [Target("nant")]
+ public class NAntTarget : ITarget
+ {
+ #region Fields
+
+ private Kernel m_Kernel;
+
+ #endregion
+
+ #region Private Methods
+
+ private static string PrependPath(string path)
+ {
+ string tmpPath = Helper.NormalizePath(path, '/');
+ Regex regex = new Regex(@"(\w):/(\w+)");
+ Match match = regex.Match(tmpPath);
+ //if(match.Success || tmpPath[0] == '.' || tmpPath[0] == '/')
+ //{
+ tmpPath = Helper.NormalizePath(tmpPath);
+ //}
+ // else
+ // {
+ // tmpPath = Helper.NormalizePath("./" + tmpPath);
+ // }
+
+ return tmpPath;
+ }
private static string BuildReference(SolutionNode solution, ProjectNode currentProject, ReferenceNode refr)
{
+ string ret = "";
+ string referencePath = ((ReferencePathNode)currentProject.ReferencePaths[0]).Path;
- if (!String.IsNullOrEmpty(refr.Path))
+ if (String.IsNullOrEmpty(refr.Path))
{
- return refr.Path;
- }
-
- if (solution.ProjectsTable.ContainsKey(refr.Name))
- {
- ProjectNode projectRef = (ProjectNode) solution.ProjectsTable[refr.Name];
- string finalPath =
- Helper.NormalizePath(refr.Name + GetProjectExtension(projectRef), '/');
- return finalPath;
- }
+ if (solution.ProjectsTable.ContainsKey(refr.Name))
+ {
+ ProjectNode project = (ProjectNode) solution.ProjectsTable[refr.Name];
+ string finalPath =
+ Helper.NormalizePath(referencePath + refr.Name + GetProjectExtension(project), '/');
+ return finalPath;
+ }
+ else
+ {
+ ProjectNode project = (ProjectNode) refr.Parent;
- ProjectNode project = (ProjectNode) refr.Parent;
+ // Do we have an explicit file reference?
+ string fileRef = FindFileReference(refr.Name, project);
+ if (fileRef != null)
+ {
+ return fileRef;
+ }
- // Do we have an explicit file reference?
- string fileRef = FindFileReference(refr.Name, project);
- if (fileRef != null)
- {
- return fileRef;
- }
+ // Is there an explicit path in the project ref?
+ if (refr.Path != null)
+ {
+ return Helper.NormalizePath(refr.Path + "/" + refr.Name + GetProjectExtension(project), '/');
+ }
- // Is there an explicit path in the project ref?
- if (refr.Path != null)
+ // Is it a specified extension (dll or exe?)
+ if (ExtensionSpecified(refr.Name))
+ {
+ return Helper.NormalizePath(referencePath + GetRefFileName(refr.Name), '/');
+ }
+
+ // No, it's an extensionless GAC ref, but nant needs the .dll extension anyway
+ return refr.Name + ".dll";
+ }
+ }
+ else
{
- return Helper.NormalizePath(refr.Path + "/" + refr.Name + GetProjectExtension(project), '/');
+ return refr.Path;
}
-
- // No, it's an extensionless GAC ref, but nant needs the .dll extension anyway
- return refr.Name + ".dll";
}
- public static string GetRefFileName(string refName)
+ public static string GetRefFileName(string refName)
{
if (ExtensionSpecified(refName))
{
@@ -123,7 +144,7 @@ namespace Prebuild.Core.Targets
}
else
{
- return refName + ".dll";
+ return refName + ".dll";
}
}
@@ -135,235 +156,268 @@ namespace Prebuild.Core.Targets
private static string GetProjectExtension(ProjectNode project)
{
string extension = ".dll";
- if (project.Type == ProjectType.Exe || project.Type == ProjectType.WinExe)
+ if (project.Type == ProjectType.Exe)
{
extension = ".exe";
}
return extension;
}
- private static string FindFileReference(string refName, ProjectNode project)
- {
- foreach (ReferencePathNode refPath in project.ReferencePaths)
- {
- string fullPath = Helper.MakeFilePath(refPath.Path, refName);
+ //private static string BuildReferencePath(SolutionNode solution, ReferenceNode refr)
+ //{
+ // string ret = "";
+ // if (solution.ProjectsTable.ContainsKey(refr.Name))
+ // {
+ // ProjectNode project = (ProjectNode)solution.ProjectsTable[refr.Name];
+ // string finalPath = Helper.NormalizePath(((ReferencePathNode)project.ReferencePaths[0]).Path, '/');
+ // return finalPath;
+ // }
+ // else
+ // {
+ // if (refr.Path == null)
+ // {
+ // ProjectNode project = (ProjectNode) refr.Parent;
+ // string fileRef = FindFileReference(refr.Name, project);
+
+ // if (refr.Path != null || fileRef != null)
+ // {
+ // string finalPath = (refr.Path != null) ? Helper.NormalizePath(refr.Path, '/') : fileRef;
+ // ret += finalPath;
+ // return ret;
+ // }
+
+ // try
+ // {
+ // Assembly assem = Assembly.Load(refr.Name);
+ // if (assem != null)
+ // {
+ // ret += "";
+ // }
+ // else
+ // {
+ // ret += "";
+ // }
+ // }
+ // catch (System.NullReferenceException e)
+ // {
+ // e.ToString();
+ // ret += "";
+ // }
+ // }
+ // else
+ // {
+ // ret = refr.Path;
+ // }
+ // }
+ // return ret;
+ //}
+
+ private static string FindFileReference(string refName, ProjectNode project)
+ {
+ foreach (ReferencePathNode refPath in project.ReferencePaths)
+ {
+ string fullPath = Helper.MakeFilePath(refPath.Path, refName, "dll");
if (File.Exists(fullPath))
{
return fullPath;
}
- fullPath = Helper.MakeFilePath(refPath.Path, refName, "dll");
-
- if (File.Exists(fullPath))
- {
- return fullPath;
- }
-
fullPath = Helper.MakeFilePath(refPath.Path, refName, "exe");
if (File.Exists(fullPath))
{
return fullPath;
}
- }
-
- return null;
- }
-
- ///
- /// Gets the XML doc file.
- ///
- /// The project.
- /// The conf.
- ///
- public static string GetXmlDocFile(ProjectNode project, ConfigurationNode conf)
- {
- if (conf == null)
- {
- throw new ArgumentNullException("conf");
- }
- if (project == null)
- {
- throw new ArgumentNullException("project");
- }
- string docFile = (string)conf.Options["XmlDocFile"];
- // if(docFile != null && docFile.Length == 0)//default to assembly name if not specified
- // {
- // return Path.GetFileNameWithoutExtension(project.AssemblyName) + ".xml";
- // }
- return docFile;
- }
-
- private void WriteProject(SolutionNode solution, ProjectNode project)
- {
+ }
+
+ return null;
+ }
+
+ ///
+ /// Gets the XML doc file.
+ ///
+ /// The project.
+ /// The conf.
+ ///
+ public static string GetXmlDocFile(ProjectNode project, ConfigurationNode conf)
+ {
+ if (conf == null)
+ {
+ throw new ArgumentNullException("conf");
+ }
+ if (project == null)
+ {
+ throw new ArgumentNullException("project");
+ }
+ string docFile = (string)conf.Options["XmlDocFile"];
+ // if(docFile != null && docFile.Length == 0)//default to assembly name if not specified
+ // {
+ // return Path.GetFileNameWithoutExtension(project.AssemblyName) + ".xml";
+ // }
+ return docFile;
+ }
+
+ private void WriteProject(SolutionNode solution, ProjectNode project)
+ {
string projFile = Helper.MakeFilePath(project.FullPath, project.Name + GetProjectExtension(project), "build");
- StreamWriter ss = new StreamWriter(projFile);
-
- m_Kernel.CurrentWorkingDirectory.Push();
- Helper.SetCurrentDir(Path.GetDirectoryName(projFile));
- bool hasDoc = false;
-
- using (ss)
- {
- ss.WriteLine("");
- ss.WriteLine("", project.Name);
- ss.WriteLine(" ", "build");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- foreach (ReferenceNode refr in project.References)
- {
- if (refr.LocalCopy)
- {
- ss.WriteLine(" ", '/'));
- }
- }
-
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- if (project.ConfigFile != null && project.ConfigFile.Length!=0)
- {
- ss.Write(" ");
- }
-
- // Add the content files to just be copied
- ss.WriteLine(" {0}", "");
- ss.WriteLine(" {0}", "");
-
- foreach (string file in project.Files)
- {
- // Ignore if we aren't content
- if (project.Files.GetBuildAction(file) != BuildAction.Content)
- continue;
-
- // Create a include tag
- ss.WriteLine(" {0}", "");
- }
-
- ss.WriteLine(" {0}", "");
- ss.WriteLine(" {0}", "");
-
- ss.Write(" ");
- ss.WriteLine(" ", project.RootNamespace);
- foreach (string file in project.Files)
- {
- switch (project.Files.GetBuildAction(file))
- {
- case BuildAction.EmbeddedResource:
- ss.WriteLine(" {0}", "");
- break;
- default:
- if (project.Files.GetSubType(file) != SubType.Code && project.Files.GetSubType(file) != SubType.Settings)
- {
- ss.WriteLine(" ", file.Substring(0, file.LastIndexOf('.')) + ".resx");
- }
- break;
- }
- }
- //if (project.Files.GetSubType(file).ToString() != "Code")
- //{
- // ps.WriteLine(" ", file.Substring(0, file.LastIndexOf('.')) + ".resx");
-
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- foreach (string file in project.Files)
- {
- switch (project.Files.GetBuildAction(file))
- {
- case BuildAction.Compile:
- ss.WriteLine(" ");
- break;
- default:
- break;
- }
- }
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- foreach(ReferencePathNode refPath in project.ReferencePaths)
+ StreamWriter ss = new StreamWriter(projFile);
+
+ m_Kernel.CurrentWorkingDirectory.Push();
+ Helper.SetCurrentDir(Path.GetDirectoryName(projFile));
+ bool hasDoc = false;
+
+ using (ss)
+ {
+ ss.WriteLine("");
+ ss.WriteLine("", project.Name);
+ ss.WriteLine(" ", "build");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ foreach (ReferenceNode refr in project.References)
+ {
+ if (refr.LocalCopy)
+ {
+ ss.WriteLine(" ", '/'));
+ }
+ }
+
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ if (project.ConfigFile != null && project.ConfigFile.Length!=0)
+ {
+ ss.Write(" ");
+ }
+
+ // Add the content files to just be copied
+ ss.WriteLine(" {0}", "");
+ ss.WriteLine(" {0}", "");
+
+ foreach (string file in project.Files)
+ {
+ // Ignore if we aren't content
+ if (project.Files.GetBuildAction(file) != BuildAction.Content)
+ continue;
+
+ // Create a include tag
+ ss.WriteLine(" {0}", "");
+ }
+
+ ss.WriteLine(" {0}", "");
+ ss.WriteLine(" {0}", "");
+
+ ss.Write(" ");
+ ss.Write(" unsafe=\"{0}\"", conf.Options.AllowUnsafe);
+ break;
}
- ss.WriteLine(" ");
- foreach (ReferenceNode refr in project.References)
- {
- string path = Helper.NormalizePath(Helper.MakePathRelativeTo(project.FullPath, BuildReference(solution, project, refr)), '/');
+ foreach (ConfigurationNode conf in project.Configurations)
+ {
+ ss.Write(" warnaserror=\"{0}\"", conf.Options.WarningsAsErrors);
+ break;
+ }
+ foreach (ConfigurationNode conf in project.Configurations)
+ {
+ ss.Write(" define=\"{0}\"", conf.Options.CompilerDefines);
+ break;
+ }
+ ss.Write(" main=\"{0}\"", project.StartupObject);
+
+ foreach (ConfigurationNode conf in project.Configurations)
+ {
+ if (GetXmlDocFile(project, conf) != "")
+ {
+ ss.Write(" doc=\"{0}\"", "${project::get-base-directory()}/${build.dir}/" + GetXmlDocFile(project, conf));
+ hasDoc = true;
+ }
+ break;
+ }
+ ss.Write(" output=\"{0}", "${project::get-base-directory()}/${build.dir}/${project::get-name()}");
+ if (project.Type == ProjectType.Library)
+ {
+ ss.Write(".dll\"");
+ }
+ else
+ {
+ ss.Write(".exe\"");
+ }
+ if (project.AppIcon != null && project.AppIcon.Length != 0)
+ {
+ ss.Write(" win32icon=\"{0}\"", Helper.NormalizePath(project.AppIcon, '/'));
+ }
+ ss.WriteLine(">");
+ ss.WriteLine(" ", project.RootNamespace);
+ foreach (string file in project.Files)
+ {
+ switch (project.Files.GetBuildAction(file))
+ {
+ case BuildAction.EmbeddedResource:
+ ss.WriteLine(" {0}", "");
+ break;
+ default:
+ if (project.Files.GetSubType(file) != SubType.Code && project.Files.GetSubType(file) != SubType.Settings)
+ {
+ ss.WriteLine(" ", file.Substring(0, file.LastIndexOf('.')) + ".resx");
+ }
+ break;
+ }
+ }
+ //if (project.Files.GetSubType(file).ToString() != "Code")
+ //{
+ // ps.WriteLine(" ", file.Substring(0, file.LastIndexOf('.')) + ".resx");
+
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ foreach (string file in project.Files)
+ {
+ switch (project.Files.GetBuildAction(file))
+ {
+ case BuildAction.Compile:
+ ss.WriteLine(" ");
+ break;
+ default:
+ break;
+ }
+ }
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ foreach (ReferenceNode refr in project.References)
+ {
+ string path = Helper.NormalizePath(Helper.MakePathRelativeTo(project.FullPath, BuildReference(solution, project, refr)), '/');
ss.WriteLine(" ");
- }
- ss.WriteLine(" ");
+ }
+ ss.WriteLine(" ");
- ss.WriteLine(" ");
+ ss.WriteLine(" ");
- foreach (ConfigurationNode conf in project.Configurations)
+ foreach (ConfigurationNode conf in project.Configurations)
{
if (!String.IsNullOrEmpty(conf.Options.OutputPath))
{
@@ -378,160 +432,149 @@ namespace Prebuild.Core.Targets
ss.WriteLine(" ");
ss.WriteLine(" ");
ss.WriteLine(" ");
- ss.WriteLine(" ");
ss.WriteLine(" ");
ss.WriteLine(" ");
break;
}
}
- ss.WriteLine(" ");
-
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
-
- ss.WriteLine(" ");
- if (hasDoc)
- {
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.Write(" ");
- }
- else
- {
- ss.WriteLine(".exe\" />");
- }
-
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- // foreach(ReferenceNode refr in project.References)
- // {
- // string path = Helper.NormalizePath(Helper.MakePathRelativeTo(project.FullPath, BuildReferencePath(solution, refr)), '/');
- // if (path != "")
- // {
- // ss.WriteLine(" ", path);
- // }
- // }
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- }
- ss.WriteLine(" ");
- ss.WriteLine("");
- }
- m_Kernel.CurrentWorkingDirectory.Pop();
- }
-
- private void WriteCombine(SolutionNode solution)
- {
- m_Kernel.Log.Write("Creating NAnt build files");
- foreach (ProjectNode project in solution.Projects)
- {
- if (m_Kernel.AllowProject(project.FilterGroups))
- {
- m_Kernel.Log.Write("...Creating project: {0}", project.Name);
- WriteProject(solution, project);
- }
- }
-
- m_Kernel.Log.Write("");
- string combFile = Helper.MakeFilePath(solution.FullPath, solution.Name, "build");
- StreamWriter ss = new StreamWriter(combFile);
-
- m_Kernel.CurrentWorkingDirectory.Push();
- Helper.SetCurrentDir(Path.GetDirectoryName(combFile));
-
- using (ss)
- {
- ss.WriteLine("");
- ss.WriteLine("", solution.Name);
- ss.WriteLine(" ");
- ss.WriteLine();
-
- //ss.WriteLine(" ");
- //ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
+ ss.WriteLine(" ");
+
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+
+ ss.WriteLine(" ");
+ if (hasDoc)
+ {
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.Write(" ");
+ }
+ else
+ {
+ ss.WriteLine(".exe\" />");
+ }
+
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ // foreach(ReferenceNode refr in project.References)
+ // {
+ // string path = Helper.NormalizePath(Helper.MakePathRelativeTo(project.FullPath, BuildReferencePath(solution, refr)), '/');
+ // if (path != "")
+ // {
+ // ss.WriteLine(" ", path);
+ // }
+ // }
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ }
+ ss.WriteLine(" ");
+ ss.WriteLine("");
+ }
+ m_Kernel.CurrentWorkingDirectory.Pop();
+ }
+
+ private void WriteCombine(SolutionNode solution)
+ {
+ m_Kernel.Log.Write("Creating NAnt build files");
+ foreach (ProjectNode project in solution.Projects)
+ {
+ if (m_Kernel.AllowProject(project.FilterGroups))
+ {
+ m_Kernel.Log.Write("...Creating project: {0}", project.Name);
+ WriteProject(solution, project);
+ }
+ }
+
+ m_Kernel.Log.Write("");
+ string combFile = Helper.MakeFilePath(solution.FullPath, solution.Name, "build");
+ StreamWriter ss = new StreamWriter(combFile);
+
+ m_Kernel.CurrentWorkingDirectory.Push();
+ Helper.SetCurrentDir(Path.GetDirectoryName(combFile));
+
+ using (ss)
+ {
+ ss.WriteLine("");
+ ss.WriteLine("", solution.Name);
+ ss.WriteLine(" ");
+ ss.WriteLine();
+
+ //ss.WriteLine(" ");
+ //ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
// actually use active config out of prebuild.xml
ss.WriteLine(" ", solution.ActiveConfig);
- foreach (ConfigurationNode conf in solution.Configurations)
- {
- ss.WriteLine();
- ss.WriteLine(" ", conf.Name);
- ss.WriteLine(" ", conf.Name);
- ss.WriteLine(" ", conf.Options["DebugInformation"].ToString().ToLower());
- ss.WriteLine(" ");
- ss.WriteLine();
- }
-
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine();
-
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine();
-
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine();
-
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine();
-
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine();
-
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine(" ");
- ss.WriteLine();
+ foreach (ConfigurationNode conf in solution.Configurations)
+ {
+ ss.WriteLine();
+ ss.WriteLine(" ", conf.Name);
+ ss.WriteLine(" ", conf.Name);
+ ss.WriteLine(" ", conf.Options["DebugInformation"].ToString().ToLower());
+ ss.WriteLine(" ");
+ ss.WriteLine();
+ }
+
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine();
+
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine();
+
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine();
+
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine(" ");
+ ss.WriteLine();
ss.WriteLine(" ");
ss.WriteLine(" ");
--
cgit v1.1