2008-09-08 7 views

Odpowiedz

9

Być może zadajesz jedno z dwóch możliwych pytań: dlaczego są różne lub dlaczego katalog projektu testowego nie ma końcowego ukośnika.

Zakładając, że jest to pierwsze: od tego kodu wykonuje się. Podczas debugowania programu jego kompilacja i pliki binarne są umieszczane w katalogu \ bin \ debug projektu. Podczas testowania uruchomione są pliki binarne testu, które są kompilowane i umieszczane w katalogu bin/debug projektu testowego.

Zakładając, że jest ostatni: Prawdopodobnie jakiś niejasny powód, prawdopodobnie błąd, lub może złapać ludzi, którzy łączą ścieżki zamiast używać Path.Combine (niegrzeczny niegrzeczny!).


Cóż, nie wiem, dlaczego jest inaczej. Aplikacje testowe mogą być uruchamiane na niestandardowym hoście CLR; Myślę, że może tak być, ponieważ aplikacje testowe robią dziwne rzeczy z prywatnymi akcesorami, które normalnie nie są dozwolone w standardowym hoście CLR. Chwytam tylko słomki, ponieważ nie mam żadnej faktycznej wiedzy na temat tego, jak te rzeczy są kodowane.

W każdym razie obejście to stoi (Path.Combine). Nikt nie powinien łączyć ścieżek, ponieważ zmienne ścieżki mogą się zmieniać.

+2

Tak, nikt nie powinien łączyć ścieżek (i to nie było problemem, ktoś sprawdzał, czy kod był uruchomiony w IDE, szukając Debugowania na ścieżce). Znalazłem to dziwne zachowanie, kiedy pisałem testy jednostek, które zawodziły. Głównie rzecz ciekawości. –

+0

@KrisErickson jak rozwiązałeś ten problem podczas testu jednostki? – DevT

+0

Wyśmiał system plików. –

Powiązane problemy