C # Apenas parte de uma solicitação ReadProcessMemory ou WriteProcessMemory foi concluída durante Process.Kill ()

Eu tenho pesquisado este assunto bastante extensivamente e não consigo encontrar uma resposta.

Eu sei que oOnly part of a ReadProcessMemory or WriteProcessMemory request was completed exceção é lançada quando um processo de 32 bits tenta acessar um processo de 64 bits e o mesmo para uma modificação de 64 bits de um processo de 32 bits.

A solução para esse problema é alterar o destino da plataforma para "Qualquer CPU". Eu tentei isso e, infelizmente, isso não resolve o meu problema.

O próximo bloco de código é o que continua lançando a exceção. O programa que executa esse código é usado para abrir aplicativos em computadores remotos e mantém uma lista de todos os processos que o próprio programa abriu para que eu não precise percorrer todos os processos.

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

Esses processos podem e provavelmente serão de 32 bits e 64 bits, misturados.

Existe alguma coisa que eu esteja fazendo que eu não deveria estar fazendo, ou há apenas uma maneira melhor de fazer tudo isso?

questionAnswers(3)

yourAnswerToTheQuestion