Aspnet_regiis : unregistering ASP.NET 2.0 may break ASP.NET 4 performance counters
"Unable to locate the open procedure "%pef_counter_name%" in DLL "%WINDOWS%\Microsoft.NET\Framework\v4.0.30319\aspnet_perf.dll" for the "ASP.NET" service."
"Performance counter data collection from the "ASP.NET" service has been disabled due to one or more errors generated by the performance counter library for that service."
Re-run aspnet_regis.exe -iru from the 4.0 directory.
Please note that on 64-bit machines aspnet_regiis –iru should be run from the 64-bit Framework installation directory
ASP.NET Performance counters have generic counters (e.g. ASP.NET and ASP.NET Applications) and versioned counters (e.g. ASP.NET v2.50727 and ASP.NET Apps v2.50727). This allows side-by-side .NET Framework versions with different performance counter implementations. The higher version of the .NET Framework registered on the machine “owns” the generic objects, while all .NET Framework versions “own” their respective versioned counters.
When ASP.NET 2.0 is un-registered it tries to “fix” the generic performance counters, ignoring that there is a higher version of ASP.NET registered. This is a known bug in ASP.NET 2.0.
Article ID: 2023159 - Last Review: 12/12/2015 07:49:30 - Revision: 1.0
- kbnosurvey kbarchive KB2023159