Reference: https://github.com/nant/nant/issues/91 Obtained from: https://github.com/nant/nant/commit/69c8ee96493c5d953212397c8ca06c2392372ca4 https://github.com/nant/nant/commit/4ad065d009b043996d4ce2d25ce5031d81c6ce60 --- src/NAnt.Console/App.config.orig 2013-03-30 06:16:24.000000000 +0800 +++ src/NAnt.Console/App.config 2013-04-03 09:28:04.000000000 +0800 @@ -1724,6 +1724,7 @@ + @@ -1782,6 +1783,14 @@ + + + + + + + + @@ -1820,7 +1829,8 @@ true - gmcs + ${csc.tool} + ${mcs.sdk} true true true @@ -1912,6 +1922,7 @@ + @@ -1934,6 +1945,14 @@ + + + + + + + + @@ -1972,7 +1991,8 @@ true - gmcs + ${csc.tool} + ${mcs.sdk} true linq true @@ -2067,6 +2087,7 @@ + @@ -2090,6 +2111,14 @@ + + + + + + + + @@ -2128,7 +2157,8 @@ true - dmcs + ${csc.tool} + ${mcs.sdk} true linq true @@ -2212,6 +2242,7 @@ + @@ -2234,6 +2265,14 @@ + + + + + + + + @@ -2267,7 +2306,8 @@ - smcs + ${csc.tool} + ${mcs.sdk} true true true @@ -2502,6 +2542,7 @@ + @@ -2526,13 +2567,22 @@ + + + + + + + + true - gmcs + ${csc.tool} + ${mcs.sdk} true true true @@ -2616,6 +2666,7 @@ + @@ -2628,13 +2679,22 @@ + + + + + + + + true - gmcs + ${csc.tool} + ${mcs.sdk} true linq true @@ -2721,6 +2781,7 @@ + @@ -2734,13 +2795,22 @@ + + + + + + + + true - dmcs + ${csc.tool} + ${mcs.sdk} true linq true @@ -2824,6 +2894,7 @@ + @@ -2835,10 +2906,19 @@ + + + + + + + + - smcs + ${csc.tool} + ${mcs.sdk} true true true --- src/NAnt.Core/ConsoleDriver.cs.orig 2013-03-30 06:16:24.000000000 +0800 +++ src/NAnt.Core/ConsoleDriver.cs 2013-04-03 09:28:04.000000000 +0800 @@ -318,8 +318,9 @@ xsltDoc.Load(reader); xsltDoc.DocumentElement.SetAttribute("xmlns:nant",buildDoc.DocumentElement.NamespaceURI); - XslTransform transform = new XslTransform(); - transform.Load(xsltDoc); + XslCompiledTransform transform = new XslCompiledTransform(); + XsltSettings settings = new XsltSettings(false, true); + transform.Load(xsltDoc, settings, new XmlUrlResolver()); StringBuilder sb = new StringBuilder(); StringWriter writer = new StringWriter(sb, CultureInfo.InvariantCulture); --- src/NAnt.Core/Resources/ProjectHelp.xslt.orig 2013-03-30 06:16:24.000000000 +0800 +++ src/NAnt.Core/Resources/ProjectHelp.xslt 2013-04-03 09:28:04.000000000 +0800 @@ -26,7 +26,7 @@ --- src/NAnt.DotNet/Tasks/CscTask.cs.orig 2013-03-30 06:16:24.000000000 +0800 +++ src/NAnt.DotNet/Tasks/CscTask.cs 2013-04-03 09:28:04.000000000 +0800 @@ -90,6 +90,7 @@ private string _langVersion; // framework configuration settings + private double _mcsSdk = 0; private bool _supportsDocGeneration = true; private bool _supportsPlatform; private bool _supportsLangVersion; @@ -362,6 +363,21 @@ #endregion Public Instance Properties + #region Protected Instance Properties + + /// + /// Gets or sets the mcs sdk version to apply to the new mcs compiler + /// for Mono 3.0+ + /// + [FrameworkConfigurable("mcssdk")] + protected double McsSdk + { + get { return _mcsSdk; } + set { _mcsSdk = value; } + } + + #endregion Protected Instance Properties + #region Override implementation of CompilerBase /// @@ -378,6 +394,16 @@ WriteOption(writer, "baseaddress", BaseAddress); } + // If mcs is the compiler and the specified McsSdk version is specified, append the new + // -sdk: option to the argument list. + if (PlatformHelper.IsMono) + { + if (ExeName.Equals("mcs", StringComparison.InvariantCultureIgnoreCase) && _mcsSdk > 0) + { + WriteOption(writer, "sdk", _mcsSdk.ToString()); + } + } + // XML documentation if (DocFile != null) { if (SupportsDocGeneration) { --- src/NAnt.NUnit/NAnt.NUnit.build.orig 2013-03-30 06:16:24.000000000 +0800 +++ src/NAnt.NUnit/NAnt.NUnit.build 2013-04-03 09:28:04.000000000 +0800 @@ -42,6 +42,8 @@ + + --- src/NDoc.Documenter.NAnt/NDoc.Documenter.NAnt.build.orig 2013-03-30 06:16:24.000000000 +0800 +++ src/NDoc.Documenter.NAnt/NDoc.Documenter.NAnt.build 2013-04-03 09:28:04.000000000 +0800 @@ -11,6 +11,7 @@ + --- tests/NAnt.Core/Framework.config.orig 2013-03-30 06:16:24.000000000 +0800 +++ tests/NAnt.Core/Framework.config 2013-04-03 09:28:04.000000000 +0800 @@ -467,28 +467,6 @@ key="SOFTWARE\Microsoft\.NETFramework\InstallRoot" hive="LocalMachine" /> - @@ -792,19 +770,6 @@ key="SOFTWARE\Microsoft\.NETFramework\InstallRoot" hive="LocalMachine" /> - @@ -1302,9 +1267,12 @@ + + + @@ -1320,26 +1288,30 @@ + + + in Mono 1.0.x, the framework tools are located + in the \lib directory, except for + mbas and mcs + --> + + Mono 1.0.1 installer incorrectly adds '\mono' to + "MonoConfigDir" registry value + --> + @@ -1354,28 +1326,54 @@ + + + + + + + + + + - - - - + + + + + + - - + + true - gmcs + ${csc.tool} + ${mcs.sdk} true true true @@ -1467,8 +1465,11 @@ + + + @@ -1484,30 +1485,57 @@ + + + + + + + + + + + - - - - + + + + + + - - + + true - gmcs + ${csc.tool} + ${mcs.sdk} true linq true @@ -1602,6 +1630,7 @@ + @@ -1625,6 +1654,14 @@ + + + + + + + + @@ -1663,7 +1700,8 @@ true - dmcs + ${csc.tool} + ${mcs.sdk} true linq true @@ -1699,7 +1737,7 @@ - - + - - + + + + + + + @@ -1743,8 +1785,11 @@ + + + @@ -1760,26 +1805,52 @@ + + + + + + + + + + + - - - - + + + + + + - - smcs + ${csc.tool} + ${mcs.sdk} true true true @@ -2037,7 +2108,10 @@ + + + @@ -2059,13 +2133,22 @@ + + + + + + + + true - gmcs + ${csc.tool} + ${mcs.sdk} true true true @@ -2149,8 +2232,11 @@ + + + @@ -2159,13 +2245,22 @@ + + + + + + + + true - gmcs + ${csc.tool} + ${mcs.sdk} true linq true @@ -2252,6 +2347,7 @@ + @@ -2265,13 +2361,22 @@ + + + + + + + + true - dmcs + ${csc.tool} + ${mcs.sdk} true linq true @@ -2307,8 +2412,8 @@ - - - + + + + + + + @@ -2351,8 +2460,11 @@ + + + @@ -2360,10 +2472,19 @@ + + + + + + + + - smcs + ${csc.tool} + ${mcs.sdk} true true true