public static async Task SaveProjectRoot(DTE dte, string projectFullName) { var projectFullPath = (new FileInfo(projectFullName).FullName); ProjectRootElement root; lock (LoadedProjectRoots) { if (!LoadedProjectRoots.ContainsKey(projectFullPath)) { return; } root = LoadedProjectRoots[projectFullPath]; } await dte.CheckOutFileForEditIfSourceControlled(projectFullPath); root.Save(projectFullPath); }