[xbuild] Fix bug #662355.
authorAnkit Jain <radical@corewars.org>
Wed, 5 Jan 2011 00:39:48 +0000 (06:09 +0530)
committerAnkit Jain <radical@corewars.org>
Wed, 5 Jan 2011 00:39:48 +0000 (06:09 +0530)
Support reference aliases in Csc task.

mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/Csc.cs

index 814d3e5cd6442f67d8a443740e3b8b7381c79468..9dc504d85ff1b2d6ed61eb31de3c8935f0238d37 100644 (file)
@@ -91,8 +91,14 @@ namespace Microsoft.Build.Tasks {
                        commandLine.AppendSwitchIfNotNull ("/platform:", Platform);
                        //
                        if (References != null)
-                               foreach (ITaskItem item in References)
-                                       commandLine.AppendSwitchIfNotNull ("/reference:", item.ItemSpec);
+                               foreach (ITaskItem item in References) {
+                                       string aliases = item.GetMetadata ("Aliases") ?? String.Empty;
+                                       aliases = aliases.Trim ();
+                                       if (aliases.Length > 0)
+                                               commandLine.AppendSwitchIfNotNull ("/reference:" + aliases + "=", item.ItemSpec);
+                                       else
+                                               commandLine.AppendSwitchIfNotNull ("/reference:", item.ItemSpec);
+                               }
 
                        if (ResponseFiles != null)
                                foreach (ITaskItem item in ResponseFiles)