Чтение раздела реестра, HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp\Components\
, как описано в
https://docs.microsoft.com/en-us/iis/install/installing-iis-7/discover-installed-components
Поскольку вы используете IIS 7, его функция «ASP.NET» соответствует ASP.NET 3.5, которую вы ищете,Если вы хотите проверить ASP.NET 4.x, то этот подход не сработает.
Вообще говоря, компонент ASP.NET в IIS использует инструмент командной строки aspnet_regiis
для регистрации битов ASP.NET.на IIS (ISAPI и так далее).Microsoft разработала его таким образом, чтобы он выглядел более естественным.Однако позже это становится катастрофой, поскольку новые версии .NET Framework могут легко нарушить дизайн.
Например, в IIS 7, если вы используете ASP.NET 4.x, вам придется запускать вручнуюaspnet_regiis
из папки установки .NET Framework 4.x, так как в IIS 7 отсутствует компонент ASP.NET 4.x.