diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/NewProjectDialog.cs b/src/Main/Base/Project/Src/Gui/Dialogs/NewProjectDialog.cs index bfa9ab6ff45..b958fa21eb7 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/NewProjectDialog.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/NewProjectDialog.cs @@ -6,12 +6,12 @@ using System.Drawing; using System.IO; using System.Windows.Forms; - using ICSharpCode.Core; using ICSharpCode.Core.WinForms; using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Internal.Templates; using ICSharpCode.SharpDevelop.Project.Commands; +using Microsoft.Build.Exceptions; namespace ICSharpCode.SharpDevelop.Project.Dialogs { @@ -296,7 +296,17 @@ string CheckProjectName(string solution, string name, string location) return null; } - void OpenEvent(object sender, EventArgs e) + void TryCreateProject(object sender, EventArgs e) + { + try { + CreateProject(); + } catch (InvalidProjectFileException ex) { + LoggingService.Error("Unable to create new project.", ex); + MessageService.ShowError(ex.Message); + } + } + + void CreateProject() { if (categoryTreeView.SelectedNode != null) { PropertyService.Set("Dialogs.NewProjectDialog.LastSelectedCategory", TreeViewHelper.GetPath(categoryTreeView.SelectedNode)); @@ -431,7 +441,7 @@ protected void MyInitializeComponents() smallIconsRadioButton.CheckedChanged += new EventHandler(IconSizeChange); smallIconsRadioButton.Image = IconService.GetBitmap("Icons.16x16.SmallIconsIcon"); - openButton.Click += new EventHandler(OpenEvent); + openButton.Click += new EventHandler(TryCreateProject); browseButton.Click += new EventHandler(BrowseDirectories); createDirectoryForSolutionCheckBox.CheckedChanged += new EventHandler(PathChanged);