diff options
author | Lluis Sanchez Gual <lluis@xamarin.com> | 2015-04-17 01:06:07 +0300 |
---|---|---|
committer | Lluis Sanchez Gual <lluis@xamarin.com> | 2015-04-17 18:27:00 +0300 |
commit | f8dcd06e9c1f0c080f323d8be14c2dfc3c33869e (patch) | |
tree | 89e66adebc20bd7cafd941a8a666d07a84b50567 | |
parent | d03c8d94c4eddd2ccc74cd0e955ba7bcdb5ef338 (diff) |
Improve project load error reporting
4 files changed, 7 insertions, 3 deletions
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/SlnFileFormat.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/SlnFileFormat.cs index aec98ee7cc..fd85ff5b51 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/SlnFileFormat.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/SlnFileFormat.cs @@ -673,7 +673,7 @@ namespace MonoDevelop.Projects.Formats.MSBuild SolutionItem uitem; uitem = new UnknownSolutionItem () { FileName = projectPath, - UnsupportedProjectMessage = unsupportedMessage, + LoadError = unsupportedMessage, }; item = uitem; item.ItemId = projectGuid; diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs index e2b33da4d9..20dffa193b 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs @@ -122,6 +122,8 @@ namespace MonoDevelop.Projects public Task<SolutionItem> ReadSolutionItem (ProgressMonitor monitor, string file, MSBuildFileFormat format, string typeGuid = null, string itemGuid = null, SolutionLoadContext ctx = null) { return Runtime.RunInMainThread (async delegate { + if (!File.Exists (file)) + throw new IOException (GettextCatalog.GetString ("File not found: {0}", file)); file = Path.GetFullPath (file); using (Counters.ReadSolutionItem.BeginTiming ("Read project " + file)) { file = GetTargetFile (file); @@ -173,6 +175,8 @@ namespace MonoDevelop.Projects public Task<WorkspaceItem> ReadWorkspaceItem (ProgressMonitor monitor, FilePath file) { return Runtime.RunInMainThread (async delegate { + if (!File.Exists (file)) + throw new IOException (GettextCatalog.GetString ("File not found: {0}", file)); string fullpath = FileService.ResolveFullPath (file).FullPath; using (Counters.ReadWorkspaceItem.BeginTiming ("Read solution " + file)) { fullpath = GetTargetFile (fullpath); diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Solution.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Solution.cs index c17f2a3807..6f5d3f6484 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Solution.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Solution.cs @@ -558,7 +558,7 @@ namespace MonoDevelop.Projects } [ItemProperty ("Policies", IsExternal = true, SkipEmpty = true)] - public MonoDevelop.Projects.Policies.PolicyBag Policies { + public PolicyBag Policies { get { return RootFolder.Policies; } //this is for deserialisation internal set { RootFolder.Policies = value; } diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/SolutionFolderItem.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/SolutionFolderItem.cs index 46c9baa877..27283fcd49 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/SolutionFolderItem.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/SolutionFolderItem.cs @@ -38,7 +38,7 @@ using MonoDevelop.Projects.Formats.MSBuild; namespace MonoDevelop.Projects { - public abstract class SolutionFolderItem: WorkspaceObject, IExtendedDataItem, IPolicyProvider + public abstract class SolutionFolderItem: WorkspaceObject, IPolicyProvider { SolutionFolder parentFolder; Solution parentSolution; |