2010-09-14 7 views
8

Je suis l'une de ces personnes qui aiment le Modifier et Continuer en VS. Pour cette raison, je développe des applications en 32 bits. Mais quand j'exécute un test unitaire en mode débogage et que j'essaye d'éditer une ligne, j'ai l'habituel "Les changements aux applications 64 bits ne sont pas autorisés." message. Tous mes composants sont marqués x86, nunit est installé en tant qu'application 32 bits. Mon système est 64 bits.
Comment puis-je forcer l'exécution de nunit en tant qu'application 32 bits?debunits nunit en 64 bits, l'application est en 32 bits

+0

Informations supplémentaires: J'ai essayé de définir le corflag 32BIT sur nunit-console.exe et nunit.exe. –

+0

Vous avez seulement besoin de marquer le processus hôte, laissez tous les autres composants à AnyCpu. Assurez-vous à 100% que votre hôte est marqué 32BIT +. Vérifiez que l'hôte que vous avez modifié est en réalité l'hôte que vous exécutez. Au dernier contrôle dans le gestionnaire de tâches que votre hôte n'est pas 64 bits (Il aura un * à côté de lui si son 32 bits) –

+0

J'essaye quelque chose d'autre maintenant. Je cours nunit à travers ReSharper, donc ce peut être TaskRunner de ReSharper qui fonctionne en 64 bits. –

Répondre

7

Ok, je l'ai compris. C'était en effet le ReSharper TaskRunner qui tournait en 64 bits, plus précisément JetBrains.ReSharper.TaskRunner.CLR4.MSIL.exe. J'ai d'abord créé une copie du fichier, il fait inscriptibles et forcé son drapeau 32bit haute:

>corflags JetBrains.ReSharper.TaskRunner.clr4.msil.exe /32bit+ /force 

/force parce qu'il est signé.

Il existe plusieurs autres assemblys TaskRunner, mais j'ai trouvé que c'était celui que j'utilise (essais et erreurs). Peut-être faire la même chose avec les autres si je rencontre d'autres problèmes liés à ReSharper 64 bits.

Espérons que cela aidera les autres à résoudre le même problème.

+0

J'ai trouvé le message d'avertissement qui a prêté à confusion, car je ne savais pas s'il appliquait ou non le changement de 32 bits. Mais il s'avère que c'était :) – Jen

+0

comment se fait-il que je continue à obtenir "Impossible d'ouvrir les fichiers pour l'écriture", même si j'ai déjà fermé tous les VS et que je cours la ligne de commande en tant qu'administrateur? –

12

Pour Resharper 5, vous pouvez simplement définir la cible de plate-forme, de l'assembly que vous testez, sur x86 (dans les propriétés de l'EDI pour ce projet). Le nouveau testeur Resharper 5 le détecte apparemment et exécute les tests sur 32 bits. Pas besoin de jouer avec les corflags.

Questions connexes