2

一个可以使用

aspnet_regiis.exe

在命令行中向 IIS 注册版本(前提是您先 cd 到正确的目录),这一切都很好

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

如,我想注册一个版本,但我不确定它是否已经注册。我该怎么说?

4

1 回答 1

3

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

aspnet_regiis.exe -lv

已注册的框架应返回已注册 aspnet_isapi.dll 位置的行

appcmd.exe 列出 apppool /managedRuntimeVersion:v4.0

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

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

应该返回已注册的 isapi 过滤器列表,aspnet_filter.dll 就是其中之一,驻留在框架文件夹中,例如“c:\Windows\Microsoft.NET\Framework\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);
    }
}
于 2013-03-22T22:07:21.080 回答