po dalszych poszukiwaniach znalazłem to:
If you have found this thread because you are trying to get NCover 1.5.8 to work with .NET 4 then the following should fix this error:
Open a command prompt and type the following set COMPLUS_ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler
This instructs the .NET 4 CLR to load the .NET Framework 2.0 Profiler.
For more information see: http://msdn.microsoft.com/en-us/library/dd778910.aspx
na końcu gwintu here
który wydaje się rozwiązać mój problem
EDIT:
nie robi” t naprawdę rozwiązać mój problem. Teraz pozwala tylko na generowanie pliku coverage.xml, ale zawiera tylko zespoły szkieletów v2.0, więc profilowane są tylko zespoły .net 2.0 ....
Grrr. z powrotem do deski kreślarskiej ...
EDIT 2
Alleluja! Zorientowałem się o tym poprzez proces losowego szukania i zmiany. w każdym razie, ze względu na niektóre wskaźniki znalezione here udało mi się dowiedzieć, że to, co musiałem zrobić, to zmienić exe.config aplikacji uruchamiającej kod (plik nunit.console-x86.exe w tym przypadku), aby nie tylko wymusić konkretna wersja frameworka .net, która ma być załadowana, ale także w celu umożliwienia użycia starszej zasady aktywacji. Aby wyciąć długie opowiadanie udało mi się rozwiązać ten problem:
- dodanie do nunit-konsoli-x86.exe.config następującą sekcję:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
</startup>
</configuration>
Ustawienie tych w środowisku, że polecenie jest uruchamiane z:
set ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler
set COMPLUS_ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler
(nie wiem, obie są konieczne, ale to, co zrobiłem)
Dodałem też podobną ustawienia do NCover.Console.Exe.config, ale okazuje się, że to niepotrzebne.
EDIT 3
to jest wiersz polecenia używam (zauważ, że skopiowałem wszystkie NCover i NUnit i moich zestawów testowych w jednym katalogu, aby uprościć)
NCover.Console.exe nunit-console-x86.exe /framework=4.0.30319 Your.Test.Assembly.dll //x coverage.xml //reg
Czy mógłbyś pokazać całą używaną linię komend? Próbuję to zrobić, ale nie otrzymam ncover 1.5.8, aby profilować mój kod 4.0. Zdecydowałem się opuścić Gallio i po prostu użyć wywołania ncover.console z linii poleceń i zlecić mi przeprowadzenie badań z zakamarkami ... ale nie mogę się doczekać. Spędziłem prawdopodobnie około sześciu godzin na tym i to jest strasznie frustrujące ... –
@Peter zaktualizował odpowiedź. –
dzięki, spróbuję jeszcze raz naprawdę ciężko. nie mogę uwierzyć, jak trudno to jest skonfigurować ... –