“A configuração do aplicativo está incorreta” e “a configuração lado a lado está incorreta” executando o VS2008 64-bit debug build

Estou trabalhando em uma máquina definitiva para o Windows 7 de 64 bits VS2008 com complemento de 64 bit

Eu construí com êxito meus projetos nas configurações de 32 e 64 bits, depuração e liberação. A depuração de 64 bits não está iniciando; dá o erro:

Não foi possível iniciar o programa xxx Este aplicativo falhou ao iniciar porque a configuração do aplicativo está incorreta. Revise o arquivo de manifesto para possíveis erros. Reinstalar o aplicativo pode corrigir esse problema. Para mais informações, consulte o log de eventos do aplicativo.

Eu corri o walker de dependência. No caminho redistibuível C: \ Arquivos de programas (x86) \ Microsoft Visual Studio 9.0 \ VC \ redist \ Debug_NonRedist \ amd64 \ Microsoft.VC90.DebugCRT, adicionei Microsoft.VC90.DebugCRT.manifest msvcm90d msvcp90d msvcr90d ms.VC90.DebugOpenMP vcomp90d. sll na pasta bin \ debug da minha solução.

Finalmente, o walker de dependência não tinha marcas amarelas (arquivos ausentes), mas ainda assim deu erros como:

Erro: pelo menos uma dependência implícita ou encaminhada necessária não foi encontrada. Erro: pelo menos um módulo tem uma importação não resolvida devido a uma função de exportação ausente em um módulo implicitamente dependente. Erro: Foram encontrados módulos com diferentes tipos de CPU. Erro: as informações de configuração lado a lado em "e: \ xyz.EXE" contêm erros. O aplicativo falhou ao iniciar porque sua configuração lado a lado está incorreta. Consulte o log de eventos do aplicativo ou use a ferramenta sxstrace.exe da linha de comando para obter mais detalhes (14001

O manifesto de 32 bits diz:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" **processorArchitecture="x86"** publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>

Considerando que o manifesto de depuração de 64 bits possui:

 <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>

O que eu não entendo é: por que a compilação de depuração de 32 bits é executada com êxit

Por favor, ajude-me, pois já verifiquei muitas perguntas, mas não encontrei nenhuma solução viáve

questionAnswers(8)

yourAnswerToTheQuestion