private void VsHelper_ProjectRemoved(object sender, VisualStudioHelper.ProjectBeforeCloseEventArgs e)
        {
            Logger.Info($"VS-Event: Project '{e.Project.GetName()}' removed. (IsUnloadProcess={e.IsUnloadProcess}, IsSolutionCloseProcess={e.IsSolutionCloseProcess})");

            if (e.IsSolutionCloseProcess)
            {
                return;
            }

            fileStorage.SaveProject(e.Project);

            ToolWindowViewModel.TreeViewModel.Projects.Remove(e.Project.GetGuid());

            fileStorage.RemoveProject(e.Project);
        }
        private void VsHelper_ProjectRemoved(object sender, VisualStudioHelper.ProjectBeforeCloseEventArgs e)
        {
            Logger.Info($"VS-Event: Project '{e.Project.GetName()}' removed. (IsUnloadProcess={e.IsUnloadProcess}, IsSolutionCloseProcess={e.IsSolutionCloseProcess})");

            if (e.IsSolutionCloseProcess)
            {
                return;
            }

            SaveJsonForProject(e.Project);

            if (!e.IsUnloadProcess)
            {
                ToolWindowViewModel.TreeViewModel.Projects.Remove(e.Project.GetGuid());
            }

            DetachFsWatcherFromProject(e.Project);
        }
        private void VsHelper_ProjectRemoved(object sender, VisualStudioHelper.ProjectBeforeCloseEventArgs e)
        {
            Logger.Info($"VS-Event: Project '{e.Project.UniqueName}' removed. (IsUnloadProcess={e.IsUnloadProcess}, IsSolutionCloseProcess={e.IsSolutionCloseProcess})");

            if (e.IsSolutionCloseProcess)
            {
                return;
            }

            if (ToolWindowViewModel.StartupProject == e.Project.UniqueName)
            {
                ToolWindowViewModel.UpdateStartupProject(null);
            }

            SaveJsonForProject(e.Project);

            if (!e.IsUnloadProcess)
            {
                ToolWindowViewModel.SolutionArguments.Remove(e.Project.UniqueName);
            }

            DetachFsWatcherFromProject(e.Project.UniqueName);
        }