2008-09-08 15 views

Respuesta

9

Es posible que se haga una de estas dos preguntas: ¿por qué son diferentes o por qué el directorio del proyecto de prueba no tiene una barra inclinada final?

Suponiendo que es el primero: Ahí es donde se está ejecutando el código. Cuando depura el programa, se compila y los binarios se ubican en el directorio \ bin \ debug del proyecto. Cuando está probando, está ejecutando los archivos binarios de la prueba, que se compilan y se colocan en el directorio bin \ debug del proyecto de prueba.

Asumiendo que es la última: Posiblemente alguna razón oscura, posiblemente un error, o posiblemente para atrapar a las personas que concatenan caminos en lugar de utilizar Path.Combine (travieso travieso!).


Bueno, no sé por qué es diferente. Las aplicaciones de prueba se pueden ejecutar dentro de un host CLR personalizado; Creo que este puede ser el caso ya que las aplicaciones de prueba hacen algunas cosas raras con accesodores privados que normalmente no están permitidos dentro del host CLR estándar. Solo estoy tomando cartas en el asunto, ya que no tengo ningún conocimiento real sobre cómo se está codificando realmente esta información.

De todos modos, la solución está parado (Path.Combine). Nadie debería concatenar caminos, ya que los límites del camino pueden cambiar.

+2

Sí, nadie debería estar concatenando rutas (y ese no era el problema, alguien estaba comprobando si el código se estaba ejecutando en el IDE buscando Debug en la ruta). Encontré este comportamiento extraño cuando escribía Pruebas unitarias que estaban fallando. Sobre todo una cosa de curiosidad. –

+0

@KrisErickson ¿cómo resolvió este problema en la prueba de unidad? – DevT

+0

Se burló del sistema de archivos. –

Cuestiones relacionadas