This should be trivial: here is my attempt at the code to list running processes and serialize them to a file as list of processes:
private static void Main(string[] args)
{
IEnumerable<Process> processlist = Process.GetProcesses().AsEnumerable();
XmlSerializer xmlSerializer = new XmlSerializer(processlist.GetType());
System.IO.StreamWriter file = new System.IO.StreamWriter(@"D:\temp\ProcessList.xml");
xmlSerializer.Serialize(file, xmlSerializer);
file.Close();
}
{"Cannot serialize member 'System.ComponentModel.Component.Site' of type 'System.ComponentModel.ISite', see inner exception for more details."}
I have also tried serialising individual processes, with following code :
private static void Main(string[] args)
{
IEnumerable<Process> processlist = Process.GetProcesses().AsEnumerable();
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Process));
foreach (Process process in processlist)
{
System.IO.StreamWriter file = new System.IO.StreamWriter( string.Format( @"D:\temp\Process{0}.xml" , process.Id));
xmlSerializer.Serialize(file, xmlSerializer);
file.Close();
}
}
Errors:
{"There was an error reflecting type 'System.Diagnostics.Process'."}
{"Cannot serialize member 'System.ComponentModel.Component.Site' of type 'System.ComponentModel.ISite', see inner exception for more details."}