Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@xamarin.com>2013-08-29 12:58:24 +0400
committerLluis Sanchez <lluis@xamarin.com>2013-08-29 12:59:13 +0400
commit9b5bc71e76aaa1e5f03f937f615b639679c33f81 (patch)
treead272f9c48389244c33aa37511302f5426acf5a4 /mcs/class/Microsoft.Build.Engine
parent18baa67f72edde89f54e051590661c9c6ecff95a (diff)
Fixed bug #14295 - Project.Load incorrectly resets the FullFileName property
Diffstat (limited to 'mcs/class/Microsoft.Build.Engine')
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs6
-rw-r--r--mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs11
2 files changed, 15 insertions, 2 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 5c66cf72308..5b6d2553c86 100644
--- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs
+++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs
@@ -555,7 +555,8 @@ namespace Microsoft.Build.BuildEngine {
public void Load (TextReader textReader, ProjectLoadSettings projectLoadSettings)
{
project_load_settings = projectLoadSettings;
- fullFileName = String.Empty;
+ if (!string.IsNullOrEmpty (fullFileName))
+ PushThisFileProperty (fullFileName);
DoLoad (textReader);
}
@@ -567,7 +568,8 @@ namespace Microsoft.Build.BuildEngine {
public void LoadXml (string projectXml, ProjectLoadSettings projectLoadSettings)
{
project_load_settings = projectLoadSettings;
- fullFileName = String.Empty;
+ if (!string.IsNullOrEmpty (fullFileName))
+ PushThisFileProperty (fullFileName);
DoLoad (new StringReader (projectXml));
MarkProjectAsDirty ();
}
diff --git a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs
index 8a78fad3c8e..48aba112fb9 100644
--- a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs
+++ b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs
@@ -2231,6 +2231,17 @@ namespace MonoTests.Microsoft.Build.BuildEngine {
}
}
+ [Test]
+ public void FileNameNotResetOnLoad ()
+ {
+ // Test for bug #14295
+ Project p = new Project ();
+ p.FullFileName = "foo";
+ p.LoadXml ("<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\"/>");
+ Assert.AreEqual ("foo", p.FullFileName);
+ Assert.AreEqual ("foo", p.EvaluatedProperties ["MSBuildThisFile"].Value);
+ }
+
void DeleteAllInDir (string path)
{
if (!Directory.Exists (path))