2008-11-02 6 views
15

Estoy intentando ejecutar PartCover para probar la cobertura de algunas pruebas con Gallio en Windows x64. Sin embargo, intentar ejecutarlo da el siguiente error.Cómo ejecuto PartCover en ventanas x64

Retrieving the COM class factory for component with CLSID {FB20430E-CDC9-45D7-8453-272268002E08} failed due to the following error: 80040153.

Editar: Estoy utilizando PartCover 2.2.0

Respuesta

17

El problema es causado por PartCover intentar cargar un archivo DLL de 32 bits cuando se está ejecutando bajo el de 64 bits .NET VM.

El truco está en obligar a PartCover a ejecutarse en la VM de 32 bits. Para hacer esto, debe usar una herramienta llamada CorFlags.exe para modificar el exe y marcarlo como 32 bit. Esto es equivalente a haber sido construido con x86 como su objetivo.

CorFlags (en mi máquina) se encuentra en Archivos de programa \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ x64 \

Para establecer el plazo de 32 bits de la bandera:

CorFlags.exe PartCover.exe /32BIT+ /Force

también encontré que tenía que hacer lo mismo para el programa que se ejecuta (en mi caso, el corredor de prueba Gallio)

+1

La última versión de PartCover ahora está compilada y marcada como de 32 bits y como tal ya no necesita este paso de compilación posterior . –

+0

¿Qué versión es esa? – Peteter