Wymuś NCover 1.5.8 aby używał V4 framework jak testdriven.net tak?
Chcę uruchomić coverage z linii poleceń, ale nie mogę uzyskać NCover 1.5.8, aby ustawić kod. Musi być to możliwe, ponieważ gdy przeprowadzam testy pokrycia z TestDriven.net to działa. różnica wydaje się być taka, że TD.NET jest w stanie uzyskać NCover do użycia framework 4.0 (dostajesz to w dzienniku kiedy działa : MESSAGE: v4.0.30319
) ale z linii poleceń nie mogę tego zrobić (dostaję to w dzienniku : MESSAGE: v2.0.50727
)
Więc jak Mogę sprawić, aby NCover grał ładnie z nunit z linii poleceń, tak jak to robi z TD.NET?
2 answers
Po dalszych poszukiwaniach znalazłem to:
Jeśli znalazłeś ten wątek, ponieważ próbujesz dostać NCover 1.5.8 do praca z. Net 4 następnie następujące należy naprawić ten błąd:
Otwórz wiersz polecenia i wpisz następny zestaw COMPLUS_ProfAPI_ProfilerCompatibilitysetting=EnableV2Profiler
To nakazuje Ładowanie. NET 4 CLR Profiler. NET Framework 2.0.
Aby uzyskać więcej informacji zobacz: http://msdn.microsoft.com/en-us/library/dd778910.aspx
Na końcu wątku tutaj
Który wydaje się rozwiązywać mój problem
EDIT :
To nie rozwiązuje mojego problemu. Teraz tylko pozwala na pokrycie.XML, który ma być wygenerowany, ale zawiera tylko zespoły frameworku v2.0, więc tylko zespoły.NET 2.0 są profilowane....Grrr. z powrotem do deski kreślarskiej...
Edytuj 2
Alleluja! Odkryłem to przez proces losowego googlowania i zmiany. w każdym razie, dzięki pewnym wskazówkom znalezionym tutaj {[15] } byłem w stanie dowiedzieć się, że to, co musiałem zrobić, to zmienić exe.konfiguracja aplikacji uruchamiającej kod (nunit.konsola-x86.exe w tym przypadku) plik, aby nie tylko wymusić załadowanie określonej wersji. NET framework, ale także umożliwić użycie starej polityki aktywacji. Krótko mówiąc, udało mi się to rozwiązać. autor:- dodanie do nunit-console-x86.exe.konfiguracja następującej sekcji:
<configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0.30319"/> </startup> </configuration>
-
Ustawienie tych w środowisku, z którego uruchamiane jest polecenie:
set ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler
set COMPLUS_ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler
(Nie wiem, czy oba są konieczne, Ale To właśnie zrobiłem)
Dodałem również podobne ustawienie do NCover.Konsola.Exe.config, ale okazuje się, że jest to niepotrzebne.
EDIT 3
To jest wiersz poleceń, którym jestem korzystanie (zauważ, że skopiowałem wszystkie ncover i nunit oraz moje zespoły testowe do jednego katalogu, aby uprościć sprawy)
NCover.Console.exe nunit-console-x86.exe /framework=4.0.30319 Your.Test.Assembly.dll //x coverage.xml //reg
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-18 04:57:02
Może źle zrozumiałem twój problem, ale jeśli próbujesz wymusić uruchomienie NCover w środowisku uruchomieniowym. NET 4.0, możesz spróbować umieścić supportedRuntime
element w jego pliku konfiguracyjnym.
<configuration>
<startup>
<supportedRuntime version="v4.0.30319"></supportedRuntime>
</startup>
</configuration>
Wymusi to na pliku wykonywalnym. NET 4.0 bez konieczności jego przebudowy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-07 13:17:59