From 557c65a64b6c108f4c42bbabf00f7f2d07b2c2b7 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 10 Mar 2011 16:56:33 +0530 Subject: [PATCH] [xbuild] Evaluate Import with MSBuildThisFile* properties set. --- .../Microsoft.Build.BuildEngine/Project.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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) -- 2.25.1