답변:
같은 문제가 있었기 때문에; 더 이상 존재하지 않는 응용 프로그램이있는 응용 프로그램 풀을 조사한 결과 마침내 문제를 해결했습니다.
몇 가지 단계는 다음과 같습니다.
<application ...>
XML 노드 내부에 위치해야 합니다.<application ...>
모든 팬텀 응용 프로그램 의 노드를 삭제하십시오 .그것은 당신을 위해 작동하지 않는 경우, 나를 위해 여기에 의견을 게시하시기 바랍니다. IIS 포럼에이 글이 도움이되었습니다 .
이것은 applicationHost.config를 편집하는 것보다 안전하고 간단합니다.
Powershell
PS C:\Windows\system32> import-module WebAdministration
PS C:\Windows\system32> iis:
PS IIS:\> cd .\AppPools
PS IIS:\AppPools> ls
PS IIS:\AppPools> del [name of phantom AppPool]
자식 응용 프로그램은 자동으로 삭제되지 않으며 IIS 관리자는 트리에 해당 응용 프로그램을 표시 할 수 없으므로 문제입니다.
빠르고 강력한 방법은 PowerShell 스크립트를 사용하여 모든 응용 프로그램을 가져오고 실제 경로가 여전히 존재하는지 테스트하고없는 경우 응용 프로그램을 삭제하는 것입니다.
# This is for IIS 7, make sure the snap-in is installed first: https://www.iis.net/downloads/microsoft/powershell
Add-PSSnapin WebAdministration
# Get all IIS sites
Get-ChildItem IIS:\Sites | foreach {
$site = $_;
# Get all applications without existing physical path
$applications = Get-ChildItem $site.PsPath | Where-Object { $_.NodeType -eq "application" -and (Test-Path $_.PhysicalPath) -eq $False };
# List all phantom applications
$applications | FT
# Remove applications
$applications | Remove-WebApplication -Site $site.Name
}
MetaBase.xml을 직접 편집하지 않는 이유는 무엇입니까? 물론 그 전에 백업하십시오.
또는 "임시"풀을 생성하고, 다른 모든 앱을 이동하고, orig 풀을 제거하고, 필요한 경우 새 풀의 이름을 바꿉니다.
applicationHost.config를 수동으로 땜질하고 싶지 않기 때문에 위에 나열된 두 가지 답변을 조합하여 수행했습니다.
1 단계-임시 앱 풀 만들기- "temp"라고합시다.
2 단계-모든 팬텀 애플리케이션을이 임시 앱 풀로 이동하십시오.
3 단계-위 답변 중 하나에서 Powershell 사용-
Powershell
PS C:\Windows\system32> import-module WebAdministration
PS C:\Windows\system32> iis:
PS IIS:\> cd .\AppPools
PS IIS:\AppPools> ls
PS IIS:\AppPools> del [name of phantom AppPool]
짜잔!