2008-11-02 9 views
15

J'essaie d'exécuter PartCover pour tester la couverture de certains tests avec Gallio sur Windows x64. Cependant essayer de l'exécuter donne l'erreur suivante.Comment exécuter PartCover dans des fenêtres x64

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

Edit: J'utilise PartCover 2.2.0

Répondre

17

Le problème est causé par PartCover essayant de charger une dll 32 bits lorsqu'il est en cours d'exécution sous le .NET VM 64 bits.

L'astuce consiste à forcer PartCover à s'exécuter dans la machine virtuelle 32 bits. Pour ce faire, vous devez utiliser un outil appelé CorFlags.exe pour modifier l'exe et le marquer comme 32 bits. Cela équivaut à avoir été construit avec x86 comme cible.

CorFlags (sur ma machine) est dans Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ x64 \

Pour définir la course de drapeau 32 bits:

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

J'ai aussi J'ai constaté que je devais faire la même chose pour le programme en cours (dans mon cas, le coureur de test Gallio)

+1

La dernière version de PartCover est maintenant compilée et balisée en 32 bits et ne devrait donc plus avoir besoin de cette étape de post-construction . –

+0

De quelle version s'agit-il? – Peteter