programing

오류 - IIS 메타베이스에 액세스할 수 없습니다.

stoneblock 2023. 5. 4. 17:57

오류 - IIS 메타베이스에 액세스할 수 없습니다.

Visual Studio 2012를 설치하고 솔루션을 연 후 다음과 같은 오류가 발생합니다.

웹 응용 프로그램 프로젝트 Foo가 IIS를 사용하도록 구성되었습니다.
IIS 메타베이스에 액세스할 수 없습니다.컴퓨터의 IIS 웹 사이트에 액세스할 수 있는 권한이 없습니다.

저는 이것을 우리의 각 웹 애플리케이션에 대해 얻습니다.


내가 시도한 것들:

  1. Visual Studio를 관리자로 실행
  2. aspnet_regis를 실행하고 있습니다.exe-ga MyUserName
  3. aspnet_regis를 실행하고 있습니다.exe-i

이것들은 이 문제에 대한 일반적인 해결책인 것처럼 보이지만, 저는 그것들에 대해 어떠한 성공도 거두지 못했습니다.

제가 할 수 있는 다른 일이 있나요?

Windows 8 Pro의 경우:

%systemroot%\inetsrv\config

윈도우즈 7, 8.110의 경우

%systemroot%\System32\inetsrv\config 

서)%systemroot%은 통은보입니다.C:\Windows)

Windows 탐색기에서 위의 적절한 위치로 이동합니다.다음과 같은 팝업과 함께 액세스가 차단됩니다.

"이 폴더에 대한 액세스 권한이 없습니다. 이 폴더에 영구적으로 액세스하려면 "계속"을 클릭하십시오.

이 폴더와 아래에 있는 내보내기 폴더에 대해 '계속'을 클릭합니다.바로 가기를 다시 "내 이름으로 실행"(도메인의 구성원이자 로컬 관리자)으로 변경하여 솔루션을 열고 배포할 수 있었습니다.

관리자 권한으로 비주얼 스튜디오를 실행하고 있지 않은 것 같습니다.봐봐요.

http://bloggingabout.net/blogs/rick/archive/2012/10/04/unable-to-access-the-iis-metabase.aspx

인용하자면

이에 대한 솔루션은 간단합니다. "관리자 권한으로 실행"으로 Visual Studio를 시작하십시오.바로 가기를 마우스 오른쪽 단추로 누르고 "관리자 권한으로 실행"을 선택하여 이 작업을 수행할 수 있습니다.

제 생각에 우리는 직장에서 비슷한 문제를 만난 것 같아요.제어판 -> 프로그램 및 기능 -> Windows 기능 켜기 또는 끄기...로 이동하는 것이 해결책이었습니다.그 안에서 인터넷 정보 서비스 -> 웹 관리 도구 -> IIS 6 관리 호환성 -> IIS 메타베이스 및 IIS 6 구성 호환성을 선택해야 했습니다.IIS 메타베이스 옵션을 표시하는 Windows 기능 대화 상자

한번 해보고 도움이 된다면 알려주세요!

참고: Visual Studio 2005와 2010을 모두 사용하여 Windows 7에서 IIS 7.5를 실행하고 있으며 이전 버전의 웹 서비스(.asmx)를 사용하고 있습니다.

AppPool 에 IIS 하여 이 했습니다.%systemroot%\inetsrv\config

IIS를 사용할 필요가 없는 프로젝트를 작업하는 경우 이 오류가 발생하여 프로젝트를 여는 방법은 언로드된 프로젝트를 마우스 오른쪽 단추로 클릭하고 편집을 클릭하여 다음을 검색하는 것입니다.

<ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>

USEIIS를 false로 설정합니다.

<UseIIS>False</UseIIS>

변경 내용을 저장한 후 마우스 오른쪽 단추로 클릭하여 프로젝트를 다시 로드합니다.

저는 두 가지 유형의 문제가 이 오류로 이어졌습니다. 그리고 제가 공유하고 싶은 생각은...

1. The directory was on an network share and due to UAC restrictions, was 
   unable to be accessed -- even when running as an admin.
2. The directory was on a drive that didn't exist...

이 두 가지 모두 MS가 Documents 또는 My Document 디렉토리에 내용을 넣으려는 불행한 (imo) 선택에서 비롯되었으며, 이는 정말 형편없는 오류 메시지와 결합되었습니다.위의 두 경우 모두 근본적인 문제는 IISpress Config 파일이 My Documents에 저장되어 있지 않거나 액세스할 수 없다는 것입니다.

답변해주신 모든 분들께 감사드립니다.오랫동안 폐쇄된 상태였기 때문에 많은 피드백을 제공하지 못했지만 결국 문제를 해결했습니다.저는 이러한 다른 솔루션을 많이 시도했지만 문제를 해결하지는 못했지만 근본 원인이 다를 때 도움이 될 것이라고 확신합니다.

내 솔루션

이 문제는 IIS 및 를 해제하여 해결했습니다.Windows 7(윈도우 7) 내의 Net Framework 기능을 다시 설정합니다.이번 재설치로 문제가 해결된 것 같습니다.무엇이 문제를 일으켰는지는 아직 알 수 없지만, 적어도 우리 팀의 다른 개발자 한 명은 같은 문제를 가지고 있었습니다.

로 이동합니다.%systemroot%\System32\inetsrv\config보안 대화 상자를 표시합니다.계속을 클릭하면 문제가 해결될 수 있습니다.이 작업은 두 대의 별도 Win 10/VS 2017/IIS 기계에서 수행되었습니다.

윈도우즈 81에서 관리 명령 프롬프트에서 다음을 사용합니다.

icacls "C:\Windows\System32\inetsrv\config" /t /grant "IIS AppPool\DefaultAppPool":(R)

그런 다음 VS로 돌아가서 실패한 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 다시 로드를 선택합니다.

계정: IIS7 권한 개요 - ApplicationPoolIdentity

증상은 동일하지만 문제는 "내 문서" 폴더를 네트워크 공유로 설정했는데 공유에 액세스할 수 없다는 것입니다.

근본 문제는 %USERPROFILE%\에 있는 IIS 구성 파일입니다.문서에 액세스할 수 없습니다."내 문서" 폴더 위치를 변경한 후(reg 값을 수정함) 다시 작동하기 시작했습니다.

이것이 여러분이 마주칠 수 있는 일반적인 시나리오가 아닐 수도 있다는 것을 알지만, 같은 증상을 보이기 때문에 여기에 올렸습니다.

오늘 우연히 이 문제를 발견하고 프로젝트 파일에서 IISUrl을 제거하여 문제를 해결했습니다.

  1. 프로젝트 마우스 오른쪽 버튼 클릭
  2. 편집 클릭
  3. 다음 행을 삭제합니다.

     <IISUrl>http://localhost:xxxxx </IISUrl>
    
  4. 프로젝트 다시 로드

  5. 이제 Project > Properties > Web을 마우스 오른쪽 버튼으로 클릭하고 Use Local IIS Web Server(Use Local IIS Web Server)(Use IIS Express 선택 취소)를 선택하고 Create Virtual Directory(가상 디렉토리 생성) 버튼을 클릭하여 새 IIS 가상 디렉토리를 추가합니다.

당신도 이 문제에 부딪혀서 저와 같은 문제를 겪을 수 있습니다.이전에 "해결"한 후 정전이 발생하여 컴퓨터가 다운되었습니다. 레지스트리 설정이 복구된 이유는 확실하지 않지만 문제의 원인입니다.

  1. 관리자로서 모든 실행을 시도했습니다.
  2. 모든 IIS/IIS Express가 다시 설치됩니다.
  3. 다양한 "핵"

결국 레지스트리를 다시 수정해야 합니다.

  1. 관리자로서 regedit를 열 수도 없음(gpedit.msc 관리 템플릿에 문제가 없으므로 레지스트리에 액세스해야 함)

  2. 데스크톱에서 HookExec.inf를 해제합니다.

UnHookExec.inf를 저장하고 마우스 오른쪽 버튼을 클릭하고 설치를 선택하여 설치합니다.파일을 설치하면 팝업 또는 알림 상자가 표시되지 않습니다.http://www.tweakandtrick.com/2011/04/enable-regedit-registry-editor.html

  1. HKEY_CURRENT_USER\소프트웨어\마이크로소프트\Windows\현재 버전\탐색기\사용자 셸 폴더\존재하지 않는 파일 공유를 가리키는 개인.그것을 지역 경로로 바꾼 것이 이 문제를 해결했습니다. - 파시 사볼라이넨 '14년 7월 14일 8시 41분

으로부터) )\\cs2data\home\stickelt\my documentsc:\dev)

이제 모든 것이 정상이며 Visual Studio는 15개의 프로젝트로 개방된 솔루션을 사용하여 IIS에 연결하고 IIS 메타데이터에 액세스할 수 없다고 불평하지 않습니다.

저는 지금까지 이런 문제를 겪은 적이 없었습니다. 현재 직장에 있는 사람은 아무도 없었기 때문입니다. (많은 사람들이 이곳에 오래 있었고, 일부는 "작동"된 다른 기계의 복제본을 얻었으며, 많은 사람들이 다른 도메인에 있습니다.))

오늘 이 문제가 발생했는데 VS를 '관리자 권한으로 실행'으로 열지 않았습니다.이렇게 한 후에 저는 서비스를 게시할 수 있었습니다.

관리자 권한이 있는 경우 Visual Studio 아이콘 > 속성을 마우스 오른쪽 단추로 클릭한 다음 "관리자 권한으로 실행"을 선택합니다.당신은 더 이상 관리자로서 비자울 스튜디오를 직접 운영할 수 있습니다.이런 식으로, 형식적이고 매우 기본적입니다.

@nologo의 답변 에도 IIS를 사용해야 했습니다.그래서 제가 바꿨습니다.

<UseIIS>True</UseIIS>

'False'로 먼저.

  • 솔루션을 열고 프로젝트를 로드할 수 있는지 확인했습니다.
  • Visual Studio의 해당 인스턴스와 솔루션을 닫습니다.
  • 값을 다시 '참'으로 변경합니다.
  • 솔루션을 엽니다.이번에는 어떠한 오류/경고도 받지 못했습니다.또한 프로젝트가 IIS 웹 사이트에 매핑되는 동안 Ctrl+F5 또는 F5로 문제 없이 실행할 수 있습니다.

이 키를 변경하는 것이 효과적이었습니다.

HKEY_CURRENT_USER\소프트웨어\마이크로소프트\Windows\현재 버전\탐색기\사용자 셸 폴더\개인

위치가 존재하지 않습니다.

하여 다음.

ProjectName.csproj.user - 그 안에서 Use를 확인합니다.IIS Express가 false로 설정되었습니다.

<UseIISExpress>false</UseIISExpress>


이 방법만으로 문제가 해결되지 않으면 다음 항목도 시도하고 다시 시도하십시오.

ProjectName.csproj - 기본 프로젝트 파일 내에서 둘 다 사용합니다.IIS사용IIS Express가 false로 설정됩니다.

<UseIIS>True</UseIIS>
<UseIISExpress>false</UseIISExpress>


이것들을 변경한 후에 저는 프로젝트를 다시 로드할 수 있었습니다.

참고: 다른 답변에서 언급한 대로 VS를 관리자로 실행해야 합니다.

저도 비슷한 문제가 있었습니다.제 솔루션은 "관리자 권한으로 실행"이라는 답변의 확장으로, 누군가 유용하게 사용할 수 있기를 바랍니다.

VS2012를 실행하면서 거의 매번 오른쪽 클릭, 관리자 권한으로 실행해야 했습니다.저는 이것에 싫증이 나서 바로 가기에서 속성으로 들어가 고급을 클릭한 다음 "관리자 권한으로 실행" 옵션을 클릭했습니다.이제 VS2012는 바로 가기에서 열 때마다 항상 관리자로 실행됩니다.

바로 가기 비트에서 나온 것이 중요합니다.프로젝트 분기를 진행하고 새 로컬 폴더에 분기를 다운로드했습니다.그러면 바로 가기에서 열어보니 문제가 없었습니다.그러나 폴더에 직접 들어가서 바로 가기 없이 로컬로 프로젝트를 실행하면 관리자 권한으로 실행되지 않아 이 오류가 발생했습니다.

일단 VS2012를 평소처럼 열고 나서 File/Open/Project를 사용하면 다시 문제없이 작동했습니다.(관리자로 실행했기 때문에).그러나 Windows 파일 관리자를 사용하여 솔루션을 열었을 때 관리자로 실행되지 않았습니다.

다른 제안들은 다소 극단적인 것처럼 보이지만, 이것은 꽤 간단하기 때문에 저는 먼저 이것을 시도하는 경향이 있습니다.

이것이 도움이 되었기를 바랍니다.

이것은 "모든 오류가 이 메시지로 이어진다"는 유형의 버그 중 하나인 것 같습니다.

저는 앱 풀이 방금 꺼졌습니다.다시 켰더니 다 잘 됐어요.

한 가지 더 시도해 볼 수 있는 것이 있습니다.

  • 보류 중인 Windows 업데이트가 있는지 확인합니다.
  • 다시 부팅한 경우 다른 작업을 시도하기 전에 재부팅하십시오.

저는 컴퓨터를 절대 종료하지 않는 경향이 있어서 재부팅을 기다리는 사람들이 많았습니다.그리고 그것이 그것을 고쳤습니다.

저는 위의 모든 것을 시도했습니다.위의 모든 답변에 대한 크레딧이 제공됩니다.그들 스스로 모든 제안을 시도해 본 후, 저는 그저 제가 이해할 수 있는 순서대로 이 제안들의 조합을 조립했습니다.내 문서 폴더가 공유 드라이브에 있습니다.서브/IIS 익스프레스는 같은 배에 타고 있지 않으면 적용되지 않습니다.

  • 관리자로 실행하도록 VS 구성
  • 프로그램 추가/제거, Windows 기능을 통해 IIS 제거
  • 재부팅
  • WinRAR 또는 admin 및 archive와 유사한 기능 실행C:\windows\system32\inetsrv\
  • 하고 cmd를 admin으로 합니다.rmdir /s c:\windows\system32\inetsrv\마지막 설치의 모든 추적을 완전히 제거합니다.나중에 사용할 수 있도록 상승된 cmd 프롬프트를 열어 둡니다.
  • IIS 6 메타베이스 호환성을 사용하여 IIS 다시 설치(필요했는지 의심됨)
  • 기본 AppPool 및 기본 웹 사이트를 그대로 유지(이전에 둘 다 삭제한 적이 있음)
  • 뛰었다C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ga MYDOMAIN\scottt732
  • 뛰었다C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

또한 Documents 폴더가 공유 드라이브에 있기 때문에 IIS Express 문제가 발생했습니다.IIS Express를 사용하거나 좋아하지 않지만 Visual Studio에서 불만을 제기했습니다.

  • 에서 를 했습니다.subst U: c:\Temp됨.창조했다C:\Temp\Documents\U 드라이브에서 IISpress 폴더를 복사했습니다.
  • 되었습니다.CustomUserHome 입력 키력HKCU\Software\Microsoft\IISExpress와 함께C:\Temp\Documents\IISExpress
  • 이를 통해 Visual Studio에서 웹 프로젝트를 열고 속성을 편집할 수 있었습니다.프로젝트를 수정하여 웹 서버 설정을 사용자 파일에 저장하고 사용자 지정 URL을 사용하도록 조정했습니다(필요한지 여부는 확실하지 않음).
  • 를 실행할 필요가 없을 수도 있습니다.subst다시 시작할 때마다 명령을 내립니다.신경 쓰지 마.

그리고 3번이나 포기하고 약 6시간을 보낸 후 Visual Studio(2015 업데이트 2)에서 웹 프로젝트를 열 수 있습니다.

저도 오늘 같은 문제가 있었습니다.그리고 저는 그것이 귀찮다는 것을 알았습니다.같은 IIS에서 이미 개발 중인 다른 두 개의 웹사이트가 있지만, 여전히 새로운 사이트를 만들 수 없었습니다.이상하지만 제가 한 짓입니다.

  • IIS에서 사이트 삭제
  • 새 사이트를 만들고 "new_site"라는 이름을 지정합니다.
  • 사이트 이름 자체가 아닌 다른 응용 프로그램 풀을 선택합니다.따라서 기본 설정으로 인해 문제가 발생하지 않습니다.
  • 동일한 컴퓨터에서 IP를 실행하는 경우 IP를 "할당되지 않음" 상태로 유지
  • 사용하지 않는 포트를 제공합니다.
  • VS 실행 파일 바로 가기를 마우스 오른쪽 버튼으로 클릭하여 Visual Studio를 "관리자 권한으로 실행"으로 실행합니다.
  • 당신은 해냈어요!

작동하기 때문에 제가 언급한 것 이외에는 전원을 끄거나 재설치할 필요가 없습니다.

저와 같은 문제가 있었고 같은 방법으로 해결한 사람이 있다면 알려주세요.Visual Studio가 열기를 거부하는 것은 문제가 아니라 로컬 호스트에 웹 사이트를 만드는 잘못된 방법이었다고 생각합니다.

이것이 신인들에게 도움이 되기를 바랍니다.

  1. "devenv.exe"에 대한 바로 가기 만들기
  2. 바로 가기에 대한 "관리자 권한으로 실행" 항목 선택
  3. 바로 가기를 두 번 클릭하고 프로젝트를 다시 엽니다.

링크에서 기능을 추가한 후에도 동일한 문제가 발생했습니다. 이 기사를 팔로우한 후 문제가 사라졌습니다.

이를 해결하기 위해 Visual Studio 2015를 수리했습니다.수리하는 데 시간이 오래 걸렸지만, 위의 작업 중 대부분은 해결하지 못했습니다.저는 Win 7 엔터프라이즈를 운영하고 있습니다.

비주얼 스튜디오 명령 프롬프트를 열고 아래 명령을 입력하고 실행합니다.

aspnet_regiis -ga machinename\ASPNET

위의 명령을 실행한 후 재설정합니다.IIS문제를 해결하는 응용 프로그램을 테스트합니다.

위의 명령으로 문제가 해결되지 않으면 다음 명령을 실행해 보십시오.visual studio command prompt:-

aspnet_regiis -i

또는 Windows 명령 프롬프트에서 위의 명령을 실행할 수도 있습니다.

시작 메뉴로 이동하여 실행을 열고 입력한 다음OK

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –I

그런 다음 IIS를 재설정하고 문제를 해결하는 응용 프로그램을 테스트합니다.

Visual Studio 2015에서:사용을 변경.csproj 파일의 IIS가 false로 변경되어 작동했습니다.

<UseIIS>False</UseIIS>

내 메시지에서 "IIS 메타베이스에 액세스할 수 없음"에 대한 불만 외에도 액세스할 수 없음에 대해 언급합니다."<IISUrl>http://localhost:6416/</IISUrl>"프로젝트 언로드를 마우스 오른쪽 버튼으로 클릭하고 편집을 클릭한 다음 선을 찾습니다."<IISUrl>http://localhost:6416/</IISUrl>"끝까지 논평해 주세요.다시 로드하면 작동합니다.이는 관리자가 해당 주소에 액세스할 수 있는 권한이 없는 것과 관련이 있습니다.

저도 비슷한 문제가 있었습니다.Visual Studio에서 웹 프로젝트를 로드하지 않고 오류를 표시했습니다. 가상 디렉터리 <myproj:myport>를 생성하지 못했습니다.IIS 메타베이스에 액세스할 수 없습니다.

저의 경우, 문제의 근본 원인은 IIS Express였습니다.제어판의 프로그램 및 기능에서 IIS Express를 마우스 오른쪽 버튼으로 클릭하고 복구를 선택하면 2분 이내에 문제가 해결되었습니다.

저는 Win 8 Pro와 VS 2013을 사용하고 있습니다.이 페이지의 모든 것을 시도한 후...IIS Express 8을 다시 설치하면 관리자로 실행하지 않아도 모든 것이 정상적으로 작동합니다.

제 결론은 이것이 다소 일반적인 오류이며 여러 근본 원인이 있다는 것입니다.

언급URL : https://stackoverflow.com/questions/12859891/error-unable-to-access-the-iis-metabase