C # Solo se completó parte de una solicitud ReadProcessMemory o WriteProcessMemory durante Process.Kill ()

He estado investigando este tema bastante y parece que no puedo encontrar una respuesta.

Sé que elOnly part of a ReadProcessMemory or WriteProcessMemory request was completed se produce una excepción cuando un proceso de 32 bits intenta acceder a un proceso de 64 bits y lo mismo para una modificación de 64 bits de un proceso de 32 bits.

La solución a ese problema es cambiar el objetivo de la plataforma a 'Cualquier CPU'. He intentado esto y lamentablemente esto no resuelve mi problema.

El siguiente bloque de código es lo que sigue lanzando la excepción. El programa que ejecuta este código se usa para abrir aplicaciones en computadoras remotas y mantiene una lista de todos los procesos que el programa mismo abrió para que no tenga que recorrer todos los procesos.

Process processToRemove = null;
lock (_runningProcesses)
{
    foreach (Process p in _runningProcesses)
    {
        foreach (ProcessModule module in p.Modules)
        {
            string[] strs = text.Split('\\');

            if (module.ModuleName.Equals(strs[strs.Length - 1]))
            {
                processToRemove = p;
                break;
            }
        }
        if (processToRemove != null)
        {
            break;
        }
    }
    if (processToRemove != null)
    {
        processToRemove.Kill();
        _runningProcesses.Remove(processToRemove);
    }
}

Estos procesos pueden y lo más probable es que sean de 32 y 64 bits, mezclados entre sí.

¿Hay algo que esté haciendo que no debería hacer o hay una mejor manera de hacer todo esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta