internal void ConvertProjectFile(string projectFilePath) { var comparer = StringComparer.OrdinalIgnoreCase; var util = new ProjectUtil(projectFilePath); ConvertProjectReferences(util); ConvertInternalsVisibleTo(util); var saveName = util.FilePath; if (ProjectNameMap.TryGetValue(util.ProjectName, out var newProjectName)) { var assemblyName = util.AssemblyNameWithoutExtension; if (!AssemblyNameMap.TryGetValue(assemblyName, out var newAssemblyName)) { newAssemblyName = assemblyName; } var assemblyNameElem = util.MSBuildDocument.XPathSelectElement("AssemblyName"); if (comparer.Equals(newAssemblyName, newProjectName)) { assemblyNameElem?.Remove(); } else { if (assemblyNameElem == null) { assemblyNameElem = new XElement(util.MSBuildDocument.Namespace.GetName("AssemblyName")); util.GetOrCreateMainPropertyGroup().AddFirst(assemblyNameElem); } assemblyNameElem.Value = newAssemblyName; } if (!StringComparer.OrdinalIgnoreCase.Equals(util.ProjectName, newProjectName)) { File.Delete(util.FilePath); saveName = ChangeFileName(util.FilePath, newProjectName); } } util.Document.Save(saveName); }