2

使用できます

aspnet_regiis.exe

のバージョンを IIS に登録するコマンド ラインで (最初に正しいディレクトリに cd した場合)、これはすべてうまく機能します。

しかし、IIS に既に登録されているバージョンを確認する方法はありますか?

のように、バージョンを登録したいのですが、すでに登録されているかどうかわかりません。どのように私は言うでしょうか?

4

1 に答える 1

3

次のチェックを実行して、登録済みのバージョンを確認できます。

aspnet_regiis.exe -lv

登録されたフレームワークは、登録された aspnet_isapi.dll の場所を含む行を返す必要があります

appcmd.exe リスト apppool /managedRuntimeVersion:v4.0

これにより、指定されたランタイム バージョンのインストール済みアプリ プールがすべて一覧表示されるため、何も返されない場合は、ランタイムが登録されていない可能性があります。

appcmd.exe list config -section:system.webServer/isapiFilters

登録された isapi フィルターのリストを返す必要があります。たとえば、"c:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" のように、フレームワーク フォルダーに存在する aspnet_filter.dll がその 1 つです。

もう 1 つの考えられる解決策は、.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 に答える