2013-03-15 31 views
2

一個可以使用的如何找出其中的.NET版本註冊在IIS

ASPNET_REGIIS.EXE

在命令行中使用IIS註冊的版本(前提是你有CD 'd到正確的目錄第一),這個作品一切都很好

但是有沒有辦法找出哪些版本已經註冊IIS?

因爲在,我想註冊一個版本,但我不知道它是否已經註冊或不。我會怎麼告訴?

回答

4

您可以運行以下檢查以驗證註冊版本:

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); 
    } 
}