IIS 구조에서 aspnet_client 폴더는 무엇입니까?


108

표준 IIS 웹 폴더 구조 아래에 aspnet_client 폴더가있는 경우가 많습니다. 이것은 무엇을 위해 사용됩니까? 필요합니까?

답변:


91

.NET 1.1 일 이전에이 폴더는 유효성 검사 컨트롤 및 기타 기능에 대한 JavaScript 지원을 ASP.NET에 제공했습니다. .NET 1.1 또는 이전 버전이 실행되고 있지 않은 경우 삭제해도 안전합니다. 문제를 일으키지 않도록 먼저 이름을 바꿉니다.


15
그것은 : ... 더 이상 그런 일을하지 않는 방법을 생각 나게 나타
Ostati

이제 .Net 1.1 일을 벗어난 경우에도 Crystal Reports를 사용할 수 있습니다.이 폴더는 여전히 언급 된 폴더를 사용합니다 (동일한 동작을하는 다른 소프트웨어도있을 수 있음). 그래서, 적어도, 폴더를 삭제하기 전에 백업을 만들
바딤 Levkovsky

66

다른 사람들이 말한 것 외에도 일반적으로 aspnet_regiis 도구에 의해 생성되며 Windows Update / AddRemove Windows 구성 요소 / IIS와 같은 작업에 의해 (재) 실행될 수 있습니다. 따라서 때로는 삭제하더라도 무작위로 돌아올 수 있습니다. 이 동작을 중지하는 방법이있을 수 있지만 찾지 못했습니다 (애플리케이션 버전을 .NET 2로 변경하면 실제로 수행 할 수 있습니다).

따라서 .NET 1.0 / 1.1의 특정 기능 (유효성 검사, 스마트 탐색 등)을 사용하지 않는 한 문제없이 삭제할 수 있습니다. 다시 돌아 오더라도 놀라지 마세요!


28
주기적으로 돌아옵니다. 가장 실망스러운 점은 돌아올 때마다 생성 된 aspnet_client 폴더를 삭제할 수있는 권한이없는 계정으로 WebDeploy가 중단된다는 것입니다!
Russ Cam

5
@RussCam 나는 정확히 같은 문제가 있습니다. 같은 이유로 WebDeploy를 중단합니다. 이 폴더가 무작위로 생성되는 것을 막을 방법을 찾은 사람이 있습니까?
tugberk

4
방금 DotNet Framework 4.5를 무고하게 설치했고 얼마 후 WebDeploy 배포 (TeamCity를 통해 트리거 됨)가 같은 이유로 중단되었습니다. 4.5를 설치 한 결과 darn 폴더가 다시 돌아 왔습니다. 누군가, 제발 그만해주세요.
Michael12345

2
이제 TeamCity에서 이러한 폴더를 제거하지 않도록 배포 패키지에 실제로 이러한 폴더를 추가했습니다. 코드 기반을 오염시키는 것처럼 느껴지지만 ASP.NET과 앱 배포 간의 권력 투쟁을 막을 수 있기를 바랍니다.
Michael12345

1
나는 또한이 폴더가 항상 돌아 오는 것에 대해 진지하게 짜증을냅니다. asp.net 1.x 사이트가 없지만 모든 자동 Windows 업데이트 가이 피 묻은 폴더를 모든 사이트에 배치하므로 모든 웹 배포가 중단됩니다. 저는 @ Michael12345에 동의합니다. SC에 쓸모없는 폴더를 추가하는 것이 좋지 않다는 점에 동의합니다. 배포가 계속 작동하도록하고 주말의 승리 업데이트 후 매주 월요일마다 수동으로 수정할 필요가 없습니다 (잘못된 ACL perms 사용). . 성가신 !
MemeDeveloper 2014

15

aspnet_client는 "HTTP를 통해 제공되어야하지만 응용 프로그램별로가 아닌 서버별로 설치되는 리소스"에 대한 폴더입니다.

aspnet_client의 일부 사용에는 다음을위한 리소스 (예 : JavaScript, 이미지) 저장이 포함됩니다.

  • 클라이언트 측 유효성 검사를 사용할 때 ASP.NET Web Forms 컨트롤 용 JavaScript (주로 IE5와 같은 이전 브라우저를 관리하기위한 것 같습니다)
  • '글로벌 테마'용 ASP.NET 2.0 (프레임 워크 4.0까지) (서버의 모든 사이트에 전역, 즉)
  • 일부 버전의 Crystal Reports

앞으로이 폴더를 더 많이 (남용) 사용할 수 있습니다. 말할 필요도없이, "응용 프로그램이 올바르게 실행되는 데 필요"하지만 "응용 프로그램에 의해 배포되지 않아야하는"항목이 포함되어 있기 때문에 개발자와 시스템 관리자 모두에게 악몽이 될 것입니다.

폴더의 내용에 대한 '프로토 타입'이 C : \ inetpub \ wwwroot \에있는 것 같습니다. 주어진 IIS 웹 사이트에 / aspnet_client 리소스가 없으면 IIS가 올바른 작업을 시도한다고 가정하는 것이 합리적입니다. 그리고 ... 최후의 수단으로 ... 웹 사이트 루트 폴더에 물리적 폴더를 만들고 거기에 파일을 복사하십시오. IIS는 최소한 "ASPNET_regiis / c"가 주어진 서버에서 호출 될 때이 작업을 수행하는 것 같습니다. 이는 아마도 IIS 역할을 가진 서버에 .NET 프레임 워크 업데이트가 적용될 때와 같이 일부 중요한 시점에서 자동으로 발생합니다.

aspnet_client 디렉터리를 처리하기위한 전략에는 다음이 포함됩니다. * IIS가 물리적 디렉터리를 생성하지 않기를 바라며 C : \ inetpub \ wwwroot에 매핑 된 가상 디렉터리 지정 * 사이트가 그렇지 않은 경우 수시로 물리적 디렉터리 삭제 t 필요하고 그것은 정말로 당신을 괴롭힌다. * aspnet_client를 무시하고 * 당신이 폴더를 놓치고 그것을 필요로한다면 "ASPNET_regiis / c"를 직접 실행하는 것

아마도 가장 중요한 것은 개발자로서 aspnet_client 디렉터리에 대한 응용 프로그램의 종속성을 명확하게 이해하고 문서화해야하며 설치 절차에 디렉터리가 있는지 확인하는 관련 지침이 있는지 확인해야합니다. 그러나 패키지화 된 웹 응용 프로그램이나 웹 사이트의 일부로 디렉토리 를 실제로 제공 하는 것을 귀찮게하지 말아야 합니다. 서버가 응용 프로그램의 수명 동안 볼 수있는 .NET 프레임 워크의 각 버전에 대해 어떻게이 작업을 수행 할 수 있습니까?!

나중에 다시 살펴볼 링크 :


당신이 wwwroot에 아래 aspnet_client 폴더를 추가 그렇다면 그 내용은 각 웹 응용 프로그램에 복사됩니다 당신은 내가 생각 설치
조지 Birbilis

8

또한 1.1 이후 버전에서도 Crystal 보고서를 제대로 실행하는 데 필요한 특정 아이콘과 스크립트가 있습니다.


Yah, 어려운 길을 찾았습니다. 기본 웹 사이트 아래의 가상 디렉터리에서 자체 웹 사이트로 Ripplestone 인스턴스를 옮겼고 Ripplestone에서 모든 것이 이상해지기 시작했습니다. 나는 자바 스크립트 콘솔을보고 C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13 그것이 옳은 일인지 아닌지 확실하지 않음 아래에서 물건을 찾고 있음을 알았습니다 .하지만 방금 전체 aspnet_client 폴더를 루트에서 내 Ripplestone 인스턴스가있는 디렉토리로 복사했습니다.
아담 Nofsinger

3

폴더는 일반적으로 ASP.NET이 유효성 검사와 같은 작업에 사용하는 클라이언트 측 Javascript를 저장하기위한 것입니다.

삭제해도 안전합니다.


1

이것이 내가이 질문을봤을 때 계속 연결되는 링크이기 때문에 여기에 이것을 추가 할 것이라고 생각했습니다. .NET 4.0 이상에서는이 폴더가 더 이상 필요하지 않으며 문제없이 제거 할 수 있습니다.


0

Installshield를 사용하여 ASP.net 웹 사이트를 구성하는 경우이 기능은 Installshield 2010에 있었고 Installshield 2012에는 없습니다. Installshield 2010 대 2012


IS2010에는 일부 기능이 없습니다. 더 많은 이전 버전을 사용해보십시오.
Vishnu Prasanth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.