From: Ankit Jain Date: Thu, 10 Mar 2011 11:26:33 +0000 (+0530) Subject: [xbuild] Evaluate Import with MSBuildThisFile* properties set. X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=557c65a64b6c108f4c42bbabf00f7f2d07b2c2b7;hp=43c9076ee0a04f003b1e9c300cf27fa131b4fea0;p=mono.git [xbuild] Evaluate Import with MSBuildThisFile* properties set. --- diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs index 9750d831e7a..d2f46612121 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs @@ -1096,12 +1096,18 @@ namespace Microsoft.Build.BuildEngine { if (evaluate_properties) groupingCollection.Evaluate (EvaluationType.Property); - string project_attribute = xmlElement.GetAttribute ("Project"); - if (String.IsNullOrEmpty (project_attribute)) - throw new InvalidProjectFileException ("The required attribute \"Project\" is missing from element ."); + try { + PushThisFileProperty (importingProject != null ? importingProject.FullFileName : FullFileName); + + string project_attribute = xmlElement.GetAttribute ("Project"); + if (String.IsNullOrEmpty (project_attribute)) + throw new InvalidProjectFileException ("The required attribute \"Project\" is missing from element ."); - Import.ForEachExtensionPathTillFound (xmlElement, this, importingProject, - (importPath, from_source_msg) => AddSingleImport (xmlElement, importPath, importingProject, from_source_msg)); + Import.ForEachExtensionPathTillFound (xmlElement, this, importingProject, + (importPath, from_source_msg) => AddSingleImport (xmlElement, importPath, importingProject, from_source_msg)); + } finally { + PopThisFileProperty (); + } } bool AddSingleImport (XmlElement xmlElement, string projectPath, ImportedProject importingProject, string from_source_msg)