Browse Source

Fixed SD2-673: Opening invalid projects raises exception

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1074 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
36ef218ec5
  1. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs
  2. 16
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/SolutionNodeCommands.cs
  3. 1
      src/Main/Base/Project/Src/Project/MissingProject.cs
  4. 1
      src/Main/Base/Project/Src/Project/UnknownProject.cs

2
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/FolderNodeCommands.cs

@ -126,7 +126,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -126,7 +126,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
List<string> list = new List<string>();
StringParser.Properties["Extension"] = Path.GetExtension(fileName);
string prefix = Path.Combine(Path.GetDirectoryName(fileName), Path.GetFileNameWithoutExtension(fileName));
foreach (string ext in AddInTree.BuildItems("/SharpDevelop/Workbench/DependentFileExtensions", null, true)) {
foreach (string ext in AddInTree.BuildItems("/SharpDevelop/Workbench/DependentFileExtensions", null, false)) {
if (File.Exists(prefix + ext))
list.Add(prefix + ext);
}

16
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/Commands/SolutionNodeCommands.cs

@ -48,13 +48,15 @@ namespace ICSharpCode.SharpDevelop.Project.Commands @@ -48,13 +48,15 @@ namespace ICSharpCode.SharpDevelop.Project.Commands
public static void AddProject(ISolutionFolderNode solutionFolderNode, string fileName)
{
IProject newProject = LanguageBindingService.LoadProject(fileName, Path.GetFileNameWithoutExtension(fileName));
newProject.Location = FileUtility.GetRelativePath(solutionFolderNode.Solution.Directory, fileName);
ParserService.CreateProjectContentForAddedProject(newProject);
solutionFolderNode.Container.AddFolder(newProject);
solutionFolderNode.Solution.FixSolutionConfiguration(new IProject[] { newProject });
NodeBuilders.AddProjectNode((TreeNode)solutionFolderNode, newProject).EnsureVisible();
solutionFolderNode.Solution.ApplySolutionConfigurationToProjects();
solutionFolderNode.Solution.ApplySolutionPlatformToProjects();
if (newProject != null) {
newProject.Location = FileUtility.GetRelativePath(solutionFolderNode.Solution.Directory, fileName);
ParserService.CreateProjectContentForAddedProject(newProject);
solutionFolderNode.Container.AddFolder(newProject);
solutionFolderNode.Solution.FixSolutionConfiguration(new IProject[] { newProject });
NodeBuilders.AddProjectNode((TreeNode)solutionFolderNode, newProject).EnsureVisible();
solutionFolderNode.Solution.ApplySolutionConfigurationToProjects();
solutionFolderNode.Solution.ApplySolutionPlatformToProjects();
}
}
public override void Run()

1
src/Main/Base/Project/Src/Project/MissingProject.cs

@ -28,6 +28,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -28,6 +28,7 @@ namespace ICSharpCode.SharpDevelop.Project
{
Name = Path.GetFileNameWithoutExtension(fileName);
FileName = fileName;
IdGuid = "{" + Guid.NewGuid().ToString() + "}";
}
}
}

1
src/Main/Base/Project/Src/Project/UnknownProject.cs

@ -28,6 +28,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -28,6 +28,7 @@ namespace ICSharpCode.SharpDevelop.Project
{
Name = Path.GetFileNameWithoutExtension(fileName);
FileName = fileName;
IdGuid = "{" + Guid.NewGuid().ToString() + "}";
}
}
}

Loading…
Cancel
Save