如何找出其中的.NET版本注册在IIS

问题描述:

一个可以使用的如何找出其中的.NET版本注册在IIS

ASPNET_REGIIS.EXE

在命令行中使用IIS注册的版本(前提是你有CD 'd到正确的目录第一),这个作品一切都很好

但是有没有办法找出哪些版本已经注册IIS?

因为在,我想注册一个版本,但我不知道它是否已经注册或不。我会怎么告诉?

您可以运行以下检查以验证注册版本:

ASPNET_REGIIS.EXE -lv

注册框架应与登记位置返回线ASPNET_ISAPI.DLL

APPCMD .exe列表apppool /managedRuntimeVersion:v4.0

这将列出指定运行时版本的所有已安装的应用程序池,因此如果它将返回无 - 运行时可能未注册。

Appcmd.exe的列表配置-section:system.webServer/isapiFilters

应该返回的注册ISAPI筛选器列表,aspnet_filter.dll是其中之一,居住在框架文件夹,例如“C :\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ aspnet_filter.dll”替换

还有一个可能的解决方案是使用.NET代码来扫描可用的应用程序池,并得到他们的运行时版本:

using Microsoft.Web.Administration; 
... 
public static bool IsAspNetRegistered(string v = "v4.0") 
{ 
    using (var mgr = new ServerManager()) 
    { 
     return mgr.ApplicationPools.Any(pool => pool.ManagedRuntimeVersion == v); 
    } 
}