Estoy trabajando en una máquina definitiva Windows 7 de sistema operativo de 64 bits VS2008 con 64 bits de complemento.Error de configuración Side-by-Side para compilación de depuración de 64 bits en VS2008
He creado con éxito mis proyectos en ambos 32 & 64 bit, configuración de depuración y liberación. La depuración de 64 bits no se inicia; da el error:
Unable to Start program xxx This application has failed to start because application configuration is incorrect. Review the manifest file for possible errors. Reinstalling the application may fix this problem. For more retails see application event log.
Ejecuté el andador de dependencias. Desde el camino redistibutable C: \ Archivos de programa (x86) \ Microsoft Visual Studio 9.0 \ VC \ Redist \ Debug_NonRedist \ amd64 \ Microsoft.VC90.DebugCRT que añade Microsoft.VC90.DebugCRT.manifest msvcm90d msvcp90d msvcr90d Microsoft.VC90.DebugOpenMP vcomp90d.sll en la carpeta bin \ debug de mi solución.
Finalmente Dependency Walker ni tienen ninguna marca de color amarillo (los archivos que faltan) que quedan, pero aún así lo dio errores como:
Error: At least one required implicit or forwarded dependency was not found. Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module. Error: Modules with different CPU types were found. Error: The Side-by-Side configuration information in "e:\xyz.EXE" contains errors. The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail (14001).
El manifiesto de 32 bits dice:
<?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>
Mientras que la depuración de 64 bits manifiesto tiene:
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
Lo que no entiendo es, ¿por qué la depuración de 32 bits construir ru n con éxito?
Por favor, ayúdenme ya que he verificado muchas preguntas pero no he encontrado ninguna solución factible.
¿No es un duplicado, pero posiblemente está relacionado? No estoy seguro si esto ayudará en absoluto: http://stackoverflow.com/questions/3803825/vc-crt-redist-problem –
¿Está intentando ejecutar la compilación en una máquina diferente a la que construyó? Por lo general, el tiempo de ejecución de depuración es "no redistribuible", lo que significa que no puede ejecutarlo en otras máquinas sin construir módulos de combinación e instalarlos en la máquina en la que intente ejecutar el código. – Benj
@Nic - No creo que esa pregunta ayude, esa persona solo estaba perdiendo el tiempo de ejecución correcto de la versión. El tiempo de ejecución de depuración es un problema ... Generalmente, la construcción de un "proyecto de instalación" en VS maneja los módulos de fusión para que usted pueda instalarlos junto con sus binarios con una compilación de depuración. – Benj