source

오류: Definition= 'MachineToApplication'이(가) 응용 프로그램 수준을 초과하도록 허용합니다.

ittop 2023. 5. 17. 23:29
반응형

오류: Definition= 'MachineToApplication'이(가) 응용 프로그램 수준을 초과하도록 허용합니다.

저는 ASP에서 온라인 프로젝트를 다운로드했습니다.넷. 응용 프로그램을 실행하는 동안 오류가 발생합니다.

allowDefinition='MachineToApplication'으로 등록된 섹션을 응용 프로그램 수준을 초과하여 사용하는 것은 오류입니다.이 오류는 IIS에서 가상 디렉터리가 응용 프로그램으로 구성되지 않았기 때문에 발생할 수 있습니다.

이 작업을 수행하려면 web.config 또는 다른 곳에서 어떤 내용을 변경해야 합니까?

저는 방금 이 "즐거움"을 접했습니다.릴리스 모드에서 웹 응용 프로그램을 게시한 후 바로 나타나는 것 같습니다.

제가 발견한 문제를 지속적으로 해결할 수 있는 유일한 방법은 다음 체크리스트를 따르는 것입니다.

  1. 솔루션이 릴리스 모드로 구성되어 있는 동안 솔루션을 청소합니다.
  2. 솔루션이 디버그 모드로 구성되어 있는 동안 솔루션을 치료합니다.
  3. 솔루션이 디버그 모드로 구성되어 있는 동안 빌드합니다.

게시물을 우연히 발견하면 그것은 나에게 일어나고 있었습니다.
그저.Clean프로젝트를 수행하면 오류가 사라집니다.(VS2010 버그여야 함)

제 웹 사이트의 두 번째 버전을 만들 때 이 문제가 발생했습니다.제가 처음 만들었을 때는 그런 일이 없었습니다.

방금 bin과 obj 폴더를 삭제하고 Clean Solution을 실행한 후 다시 빌드했는데 이번에는 문제가 없었습니다.

없습니다. 웹 사이트를 IIS 내의 응용 프로그램으로 배치한 디렉터리를 설정해야 합니다.

이 오류는 프로젝트를 웹 사이트로 열려고 할 때 발생합니다.웹 사이트나 프로젝트를 만들었는지 확인하는 가장 쉬운 방법은 솔루션 폴더(즉, 코드를 저장한 위치)를 확인하고 루트 디렉터리에 *.sln 파일이 있는지 확인하는 것입니다. 파일을 만든 경우 프로젝트를 만들었습니다.

덧붙이자면 Visual Studio 메뉴에서 "File", "Open Website"를 선택하여 얼마 전에 만든 프로젝트를 열려고 할 때 이 오류가 발생했습니다. 대신 "File", "Open Project"를 선택했어야 했습니다.나는 깨닫자마자 얼굴을 찡그렸습니다 :)

뷰 빌드가 활성화된 MVC 프로젝트가 있는 경우, 솔루션 중 하나는 빌드하기 전에 obj 폴더를 삭제하는 것입니다.프로젝트 파일에 추가:

<Target Name="BeforeBuild">
    <!-- Remove obj folder -->
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
    <!-- Remove bin folder -->
    <RemoveDir Directories="$(BaseOutputPath)" />
</Target>

기사는 다음과 같습니다.빌드 또는 배포 전에 bin 및/또는 obj 폴더를 제거하는 방법

Visual Studio 2013에서는 이 문제를 해결하기 위해 잠시 노력했지만 "가상 디렉터리가 IIS에서 응용 프로그램으로 구성되지 않음"이라는 예외를 따르는 것이 매우 쉽습니다.

나의 경우에는.WebService에안심진에 IIS website그렇게

  1. IIS 관리자에서 웹 사이트를 열었습니다.
  2. WCF 폴더를 마우스 오른쪽 버튼으로 클릭했습니다.
  3. 한 릭한클Convert to Application
  4. 그리고 나서 제출했습니다.Ok

WCF가 다시 실행되고 있습니다.

이 오류는 사용 중인 코드가 IIS에 가상 디렉터리를 설정해야 한다는 것을 나타냅니다.

설명서를 찾아 필요한 가상 디렉터리를 추가합니다.다을포함디야합니다여리렉이 있는 .web.config(루트 디렉토리가 아님).

최근 web.config 변경 사항이 잘못된 web.config 파일에 있을 수 있습니다.

A <machineKey...>속성이 Views/web.config에 추가되었습니다.치료 및 재구성 횟수에 관계없이 오류가 남아 있습니다.수정 사항은 속성을 root /web.config로 이동하는 것이었습니다.

만약 당신이 이 오류를 만난다면,

allowDefinition='MachineToApplication'으로 등록된 섹션을 응용 프로그램 수준을 초과하여 사용하는 것은 오류입니다.이 오류는 IIS에서 가상 디렉터리가 응용 프로그램으로 구성되지 않았기 때문에 발생할 수 있습니다.

(SOLUTION)
VS 2012에서도 같은 문제가 있었습니다.나는 이것을 해결했습니다.

  1. 현재 프로젝트 언로드
  2. .svroj 편집
  3. 항목 찾기<MvcBuildViews>false</MvcBuildViews>
  4. false 대신 true로 값 변경
  5. 프로젝트를 다시 로드하면 이 오류가 더 이상 발생하지 않습니다.

만약 당신이 있다면, 한 가지 해결책은 컴파일러에 의해 생성된 프로젝트에서 obj 폴더의 내용을 삭제하는 것입니다.

저의 경우 프로젝트를 서브디렉토리에 게시한 후에야 문제가 발생했습니다.제 지식이 부족해서, 저는 저의 지식을 배치했습니다.web_publish내의하 리디터 내의 web_project디렉토리입니다.

는 것은 합니다.web_publish또한 동일한 내용을 포함합니다.Web.config프로젝트에 포함되어 있습니다. 하만지그, 그.web_project나는 그것을 모릅니다.web_publish를 검색할 는 피해야 합니다.Web.configs가 중첩된 하위 디렉터리에 있습니다. 쪽으로이로.Web.configs가 중복되어 오류가 발생했습니다.

해결책은 나의 것을 배치하는 것이었습니다.web_publish딴 데서

제 경우에는 전체 웹 사이트의 다른 복사본이 들어 있는 "백업" 폴더가 있었습니다.이것은 또 다른 것을 의미했습니다.web.config이 오류로 인해 빌드가 실패했습니다."Backup" 폴더를 삭제하고 Debug and Release 빌드에서 Clean 솔루션을 수행하면 오류가 사라집니다.

저 같은 경우에는.

솔루션에는 6개의 프로젝트, 1개의 기본 디렉토리 및 5개의 하위 디렉토리가 포함됩니다.web.config가 있는 모든 하위 디렉터리.

하위 디렉터리에서 페이지를 실행할 때 동일한 오류가 발생했습니다.

web.config에서 이 줄을 제거했습니다.

<authentication mode="Windows"/>

그게 나한테 효과가 있었어요.

프로젝트 정리 /obj 폴더를 제거합니다(아마 게시 및 배포를 사용하여? - 버그가 있음).

문제는 VS2010을 새로 설치할 때 미리 완료된 위치에 웹 서비스를 실수로 게시했다는 것입니다.

PreCompiledWeb이라는 폴더에 게시했는데 web.config가 있어서 엉망이 된 것 같습니다.

폴더를 삭제하고 프로젝트를 새로 고쳤습니다.

이 오류를 두 번 클릭하면 오류가 발생한 web.config 파일로 이동하여 힌트를 얻었습니다.

의 프로젝트를 다운로드하는 것과 같은 버전 문제일 수 있습니다.Netframework 2.0을 VS2008에 열고 싶다면 최신 버전으로 업그레이드해야 하며 VS가 동일한 루트 디렉토리에 폴더의 백업을 생성합니다.여기서 을 얻을 수 있습니다.

내 솔루션에 생성된 Web Deployment Project를 사용하여 솔루션을 빌드할 때 이 오류가 발생했습니다.웹 배포 프로젝트가 작성된 폴더를 삭제하여 오류를 해결합니다.이 폴더는 WDP 속성의 "Project Folder" 특성에 지정되어 있습니다.

bin 및 obj 폴더를 삭제합니다.그런 다음 솔루션을 다시 빌드합니다.

제 솔루션에 web.config 파일이 두 개 있었던 것 같습니다.저는 MVC4를 사용하고 있는데 Views 아래에 다른 구성 파일이 있어서 잘못된 파일을 변경하고 있었습니다.거기에 고정된 것이 도움이 되었습니다.

그러나 global.asax 파일에서 기본 리디렉션/경로를 항상 변경할 수 있습니다.

가상 디렉터리로 구성되지 않은 프로젝트 폴더 내에 하위 asp.net 프로젝트 폴더가 있을 수 있습니다.IIS에서 실행할 프로젝트를 설정합니다.

웹 사이트 게시 스크립트에 추가했습니다.마지막으로 웹 사이트 폴더에서 obj 폴더를 삭제합니다.

프로젝트 파일에서 "true"가 활성화된 경우 이 문제가 더 자주 발생합니다.

  1. 거짓 설정

조니의 말처럼:

  1. 솔루션이 릴리스 모드로 구성되어 있는 동안 솔루션을 청소합니다.
  2. 솔루션이 디버그 모드로 구성되어 있는 동안 솔루션을 치료합니다.
  3. 솔루션이 디버그 모드로 구성되어 있는 동안 빌드합니다.

저는 웹 애플리케이션이 되고 싶지 않은 프로젝트가 있었습니다. 저는 그것을 폴더로 하고 싶었습니다.답변은 web.config 파일을 모두 삭제하는 것이었습니다.응용 프로그램의 루트에만 속합니다.

웹 사이트나 응용 프로그램을 서버에 게시하는 동안 이 문제가 발생하면 파일이 들어 있는 폴더를 웹 응용 프로그램으로 변환하는 방법을 사용했습니다.

프로젝트를 디버그 모드로 게시한 후 VS 2013에서도 동일한 문제가 발생했습니다.obj/파일을 제거하여 문제가 해결되었습니다.

저는 웹사이트 프로젝트가 있습니다.

이 경우 솔루션 파일을 다른 경로로 이동하여 문제가 발생했습니다.제가 이전 위치로 복구를 했는데 문제가 해결되었습니다.

아직 찾는 사람들을 위해, 제 해결책은 bin과 obj 폴더를 모두 삭제하고 비주얼 스튜디오를 다시 시작하는 것이었습니다.

Visual Studio를 통해 FTP를 통해 WCF 서비스를 외부 서버에 게시했습니다.로컬 및 내부 서버에 게시할 때는 정상적으로 작동했지만 외부에는 정상적으로 작동하지 않았습니다.솔루션은 다음을 제공하지 않고 게시하는 것이었습니다. Site Path즉, 가상 디렉터리의 루트에 직접 게시합니다.

이미 외부 FTP 클라이언트를 통해 파일을 루트로 이동하려고 시도했기 때문에, 여기에 나열된 모든 시도를 포함하여 여러 번 시도했기 때문에 왜 작동했는지 모르겠습니다.아마도 퍼블리셔 프로파일에 관한 것이었을 겁니다. 마치 파비안 발을 위한 것처럼요.하지만 이 시점에서 저는 더 이상 테스트할 기분이 아닙니다. 이 문제로 시간을 허비한 후에 서둘러 속도를 내고 있기 때문입니다.

팁 1: 청소하고 다시 조립합니다.

팁 2: VS를 닫았다가 다시 엽니다.

팁 3: 다운로드한 프로젝트가 다른 하위 폴더 안에 있을 수 있습니다....net 파일이 있는 폴더를 엽니다.

c:/tft1/tfts/ (모든 파일)

에서 데모를 열어야 합니다.데모 1이 아닙니다.

위의 모든 해결책을 시도해 보았지만, 제 문제에 맞는 해결책은 하나도 없었습니다.(이 문제에 대한 해결책은 1000개라고 확신합니다.)제 시나리오에서는 테스트한 WCF 웹 서비스를 프로덕션에 게시하려고 했습니다.

하지만 운영 환경에서 우리는 HTTPS에만 불과하다는 것을 깨닫지 못했습니다. 즉, 모든 것을 HTTPS로 리디렉션합니다.알고 보니 HTTPS가 아닌 HTTP로 서비스를 가리키고 있어서 오류가 발생했습니다.이 시나리오의 해결책은 단순히 주소 프로토콜을 HTTP가 아닌 HTTPS로 변경하는 것이었습니다.

저는 그것이 이 문제를 해결하려는 불쌍한 사람들에게 도움이 되기를 바랍니다.

언급URL : https://stackoverflow.com/questions/2355947/error-allowdefinition-machinetoapplication-beyond-application-level

반응형