ASPX 확장자 바꾸기
 
ASP.NET 을 하다 보면, 죄다 사이트의 URL 확장자가 .ASPX 인 것을 알 수 있습니다. 그래서 이 .ASPX 확장명을 변경할 수 있도록 다음의 포스팅을 통해서 확장명을 바꾸는 방법도 알아본 적이 있습니다.

 
[.NET/ASP.NET] - 너 ASPX 웹폼 확장자를 바꿔봤니? 난 해봤~어!


제목부터 정말 유치 찬란하네요 ^^ 위의 포스팅의 핵심은 IIS 의 ISAPI 와 .NET Framework 의 HttpHandler, 그리고 Build Provider 입니다.
 
그런데, 이렇게 확장명을 바꾸게 되면 문제가 생기게 됩니다.
 
 
바로, 위와 같이 .umcx 확장명의 웹 페이지는 태그의 컬러가 모두 시커멓게 변하고, 자동완성 기능도 사용할 수 없다는 겁니다.
 
개발자는 바로 비명을 지르겠죠? “도대체 시커먼 편집기에서 어떻게 개발을 하라는 겁니까!!
 
 

Visual Studio 가 제공하는 확장자 추가 기능
 
이 기능은 이미 Visual Studio 2005 부터 제공이 되고 있었습니다. ( 2003 버전은 확인해 보지 못해서, 설치되신 분 알려주세요.. )
 
아래와 같이, Visual Studio 의 도구->옵션->텍스트 편집기->파일 확장명 에서 추가할 수 있습니다.
 
 
위와 같이 원하는 확장명을 입력하고, 다시 .umcx 페이지를 열게 되면, 아래와 같이 일반적인 웹페이지를 작성하는 것과 같이 이쁜 컬러와 자동완성 기능을 사용할 수 있습니다.
 
 
하지만, 잘 보시면 1 Line 에 파란 밑줄이 그어져 있는데, 저 오류는 Build Provider 가 등록되지 않았기 때문입니다. 해결방법은 이미 위에 링크한 포스팅 본문에 잘 나와있기 때문에 Build Provider 를 web.config 에 등록해 주시면 된답니다.
 
위와 같이 파일 확장명을 추가해 주게 되면, 다음과 같이 레지스트리에 변화가 생깁니다.
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Default Editors
( Visual Studio 2005 버젼은 8.0 노드에 있습니다 )
 
 
확장자 별로 노드가 생기게 되고, 편집기 타입에 따라 Custom 의 값이 설정됩니다. 이 Custom 값을 정리해 보면,
 
리소스 편집기
{177559E0-D141-11D0-92DF-00A0C9138C45}
바이너리 편집기
{25834150-CD7E-11D0-92DF-00A0C9138C45}
사용자 정의 컨트롤 편집기
{F390D63C-F7D8-4E74-AA04-57C1ECF53D4D}
사용자 정의 컨트롤 편집기(인코딩 사용)
{25B02EE5-DB4E-48BD-A9BB-4FD280EB058B}
소스 코드(텍스트) 편집기(인코딩)
{C7747503-0E24-4FBE-BE4B-94180C3947D7}
스크립트 편집기
{A52A054C-5228-4819-B568-E5B8040801B5}
스크립트 편집기(인코딩 사용)
{29947C11-E110-4596-85B8-42A21EF46F6B}
웹서비스 편집기
{FB9167C9-D3B8-4EDA-8083-9AF6B6F6DA62}
웹서비스 편집기(인코딩 사용)
{80323CE9-9455-4F20-8F50-DC4916F5BF9E}
C#
{8B382828-6202-11D1-8870-0000F87579D2}
C++
{8B382828-6202-11D1-8870-0000F87579D2}
Crystal Reports
{FF14D5B3-1718-4071-9306-3B9B80BBB36A}
HTML 편집기
{C76D83F8-A489-11D0-8195-00A0C91BBEE3}
HTML 편집기(인코딩 사용)
{8281C572-2171-45AA-A642-7D8BC1662F1C}
HTTP 처리기 편집기
{DAB1E6DB-4119-49A3-ACE3-0FE8F3E0669F}
HTTP 처리기 편집기(인코딩 사용)
{5FA86C67-6204-4EED-81DE-E9A98BD4E207}
Web Form 편집기
{57312C73-6202-49E9-B1E1-40EA1A6DC1F6}
Web Form 편집기(인코딩 사용)
{D704C95A-F138-4C97-8B90-AE8287758DD1}
Windows Scripting Host파일편집기
{D411C4AC-FCFD-49BF-8D63-B94E075023F2}
Windows Scripting Host파일편집기(인코딩 사용)
{CBA754F9-4BE6-437B-9FFD-4336DDAB8621}
XML 편집기
{FA3CD31E-987B-443A-9B81-186104E8DAC1}
XML 편집기(인코딩 사용)
{412B8852-4F21-413B-9B47-0C9751D3EBFB}
 
만약, 웹 개발 프로젝트에서 확장명을 변경해서 개발해야 할 경우, 개발자들에게 다음과 같은 .REG 파일을 배포하면 되겠네요.
 
UMCX.REG
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Default Editors\umcx]
"Custom"="{57312C73-6202-49E9-B1E1-40EA1A6DC1F6}"
"Type"=dword:1
 
 
닷넷 웹 프로젝트 = .ASPX ???
 
 
“왜 닷넷 마스터페이지 확장자는 .master 이죠? 못바꾸나요?”
“왜 닷넷 XML 웹서비스 확장자는 .asmx 이죠? 못바꾸나요?”
“왜 닷넷 WCF 의 확장자는 .svc 이죠? 못바꾸나요?”
등등… 신입사원이 묻는다면, 몇 가지 알 수 없는 용어들과 섞어서 “할 수 있단다” 라고 말해 주세요.
 
여기까지 마치도록 하고, 이번 주말은 너무 빨리 지나갔습니다. ㅡ,.ㅡ;; 새로운 한 주를 위해 푹 쉬세요..
저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 땡초 POWERUMC

댓글을 달아 주세요