2010-09-14 9 views
8

Soy una de esas personas que adoran Editar y Continuar en VS. Por eso desarrollo aplicaciones en 32 bits. Pero cuando ejecuto una prueba de unidad en modo de depuración e intento editar una línea, obtengo el habitual "No se permiten los cambios en las aplicaciones de 64 bits". mensaje. Todos mis componentes están marcados x86, nunit está instalado como una aplicación de 32 bits. Mi sistema es de 64 bits.
¿Cómo puedo forzar a nunit a ejecutarse como una aplicación de 32 bits?nunit depura en 64 bits, la aplicación está en 32-bit

+0

Información adicional: Intenté establecer el corflag 32BIT tanto en nunit-console.exe como en nunit.exe. –

+0

Solo necesita marcar el proceso de host dejando todos los demás componentes en AnyCpu. asegúrate al 100% de que tu host esté marcado como 32BIT +. Verifique que el host que modificó es en realidad el host que está ejecutando. En la última comprobación en el administrador de tareas que su host no es de 64 bits (tendrá un * al lado si es de 32 bits) –

+0

Estoy intentando algo más ahora. Estoy ejecutando nunit a través de ReSharper, por lo que podría ser TaskRunner de ReSharper que se ejecute en 64 bits. –

Respuesta

7

Ok lo descubrí. De hecho, ReSharper TaskRunner se ejecutaba como 64 bits, más precisamente JetBrains.ReSharper.TaskRunner.CLR4.MSIL.exe. La primera vez que crea una copia del archivo, hecho que se pueda escribir y luego forzó su bandera 32BIT alto:

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

/fuerza porque está firmado.

Existen varios otros ensamblados de TaskRunner, pero este es el que estoy usando (prueba y error). Puede que tenga que hacer lo mismo con los demás si encuentro otros problemas relacionados con ReSharper de 64 bits.

Espero que esto ayude a otros a resolver el mismo problema.

+0

Encontré el mensaje de advertencia que daba confusión ya que no estaba seguro de si realmente estaba aplicando el cambio de 32 bits o no. Pero resulta que fue :) – Jen

+0

¿Cómo es que sigo recibiendo "No se pudieron abrir los archivos para escribir", a pesar de que ya cerré todos los VS y ejecuto la línea de comando como administrador? –

12

Para Resharper 5, puede configurar el objetivo de la plataforma, del ensamblaje que está probando, en x86 (en las propiedades del IDE para ese proyecto). El nuevo corredor de prueba Resharper 5 aparentemente detecta eso y ejecuta las pruebas como de 32 bits. No hay necesidad de meterse con corflags.

Cuestiones relacionadas