diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs index 0fb9529f13..090738b760 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs @@ -458,7 +458,10 @@ namespace ICSharpCode.SharpDevelop.Project if (File.Exists(clipboardObject.FileName)) { ICSharpCode.SharpDevelop.Project.Commands.AddExistingItemsToProject.CopyFile(clipboardObject.FileName, this, true); if (clipboardObject.PerformMove) { - FileService.RemoveFile(clipboardObject.FileName, false); + string copiedFileName = Path.Combine(Directory, Path.GetFileName(clipboardObject.FileName)); + if (!FileUtility.IsEqualFileName(clipboardObject.FileName, copiedFileName)) { + FileService.RemoveFile(clipboardObject.FileName, false); + } } } } else if (dataObject.GetDataPresent(typeof(DirectoryNode))) { diff --git a/src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs b/src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs index a3d50066f1..3cac7adb55 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs @@ -141,7 +141,9 @@ namespace ICSharpCode.Core break; case ItemType.Compile: ParseInformation info = ParserService.GetParseInformation(e.ProjectItem.FileName); - RemoveCompilationUnit(info.MostRecentCompilationUnit); + if (info != null) { + RemoveCompilationUnit(info.MostRecentCompilationUnit); + } ParserService.ClearParseInformation(e.ProjectItem.FileName); break; }