public void Save (MonoDevelop.Core.IProgressMonitor monitor) { if (HasSlnData && !SavingSolution && Item.ParentSolution != null) { // The project has data that has to be saved in the solution, but the solution is not being saved. Do it now. monitor.BeginTask (null, 2); SaveItem (monitor); monitor.Step (1); Solution sol = Item.ParentSolution; targetFormat.SlnFileFormat.WriteFile (sol.FileName, sol, targetFormat, false, monitor); sol.NeedsReload = false; monitor.EndTask (); } else SaveItem (monitor); }