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);
 }