public void SaveEndpointsFile() { if (!Directory.Exists(settingsVM.ProjectsFolder)) { Directory.CreateDirectory(settingsVM.ProjectsFolder); } try { DataContractSerializer ser = new DataContractSerializer(typeof(List <SpeechEndpointConfig>)); var xmlSettings = new XmlWriterSettings { Indent = true, IndentChars = "\t" }; using (var writer = XmlWriter.Create(settingsVM.VoiceEndpointsFile, xmlSettings)) { ser.WriteObject(writer, VoiceEndpoints.ToList()); } } catch (Exception exc) { var msg = $"Error serialising or saving the projects file: {exc}"; MessageBox.Show(msg); } }