A minap belefutottam egy érdekes hibába. Unit teszteket futtattam code coverage-el egybekötve. Minden működött is, de egy idő után az alábbi hibaüzenetet kaptam:
Code coverage collection error: The Visual Studio performance and coverage logging engine is already running on the computer. Therefore, the test run cannot continue. Close the pending performance or code coverage session and then rerun the tests.
A hibából az derül ki, hogy a Visual Studionak nem sikerült leállítania a teljesítményhez és kód lefedettséghez adatokat gyűjő processz futtatását, ezért nem tud újabbat indítani. Sajnos egy lépésben előidézni nem tudom, de ha sokat futtattam a teszteket, akkor előbb-utóbb mindig előbújt ez a fánya hiba, szóval kicsit utánnanéztem a problémának.
A Visual Studio ilyen teszteknél a VSPerfMon.exe-t futtatja, ami bizonyos esetekben képes beragadni. Ezek után a megoldás már meglehetősen kézenfekvő. Ki kell lőni a VSPerfMon.exe-t Task manager segítségével és ezután minden működik megfelelően.