diff options
author | Lluis Sanchez <lluis@xamarin.com> | 2013-08-29 12:58:24 +0400 |
---|---|---|
committer | Lluis Sanchez <lluis@xamarin.com> | 2013-08-29 12:59:13 +0400 |
commit | 9b5bc71e76aaa1e5f03f937f615b639679c33f81 (patch) | |
tree | ad272f9c48389244c33aa37511302f5426acf5a4 /mcs/class/Microsoft.Build.Engine | |
parent | 18baa67f72edde89f54e051590661c9c6ecff95a (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.cs | 6 | ||||
-rw-r--r-- | mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/ProjectTest.cs | 11 |
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)) |