0

このコードを使用して、私が管理者であるローカル システムでアプリケーション プールを取得しようとしています。

Dim ServerManager As New Microsoft.Web.Administration.ServerManager
colAppPools = ServerManager.ApplicationPools

また

ServerManager.WorkerProcesses()

そして、2 行目の結果は、私が確認したredirection.configで FileNotFoundException に なり、%systemroot%\system32\inetsrv\config ディレクトリにその名前のファイルがあり、ファイルが存在し、ユーザーにフォルダーのアクセス許可を与えました。しかし、それでも同じ FileNotFound 例外が発生します。

4

1 に答える 1

0

私の推測では、これは次の 2 つの理由のいずれかで発生する可能性があります。

  1. Microsoft.Web.Administration.dll の間違ったバージョンを参照しています。c:\Windows\System32\Inetsrv\Microsoft.Web.Administration.dll からの参照を追加していることを確認してください。たとえば、よくある問題は、開発者が "program files" ディレクトリで IIS Express バージョンを参照する場合です。

  2. 非管理者としてプロセスを実行しているためです。ServerManager には、windows\system32\inetsrv\config (およびスキーマ) 内のファイルを読み取るための管理者権限が必要です。また、ワーカー プロセスと状態を一覧表示するランタイム API にアクセスするため、アプリを管理者特権で実行していることを確認してください (またはデバッグの場合は、次に、昇格した Visual Studio を起動します)。

于 2015-08-19T19:15:51.663 に答える