[xbuild] Handle unknown exceptions.
[mono.git] / mcs / class / Microsoft.Build.Engine / Microsoft.Build.BuildEngine / Project.cs
index d2f466121212990779e30341db5ba6941c510b23..6e7971deb7a180d7e4efa22094243bc87f8cd9b2 100644 (file)
@@ -297,6 +297,13 @@ namespace Microsoft.Build.BuildEngine {
                                        Directory.SetCurrentDirectory (Path.GetDirectoryName (fullFileName));
                                building = true;
                                result = BuildInternal (targetNames, targetOutputs, buildFlags);
+                       } catch (InvalidProjectFileException ie) {
+                               ParentEngine.LogErrorWithFilename (fullFileName, ie.Message);
+                               ParentEngine.LogMessage (MessageImportance.Low, String.Format ("{0}: {1}", fullFileName, ie.ToString ()));
+                       } catch (Exception e) {
+                               ParentEngine.LogErrorWithFilename (fullFileName, e.Message);
+                               ParentEngine.LogMessage (MessageImportance.Low, String.Format ("{0}: {1}", fullFileName, e.ToString ()));
+                               throw;
                        } finally {
                                ParentEngine.EndProjectBuild (this, result);
                                current_settings = BuildSettings.None;