ASPX 확장자 바꾸기
ASP.NET 을 하다 보면, 죄다 사이트의 URL 확장자가 .ASPX 인 것을 알 수 있습니다. 그래서 이 .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 노드에 있습니다 )
( 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 이죠? 못바꾸나요?”
등등… 신입사원이 묻는다면, 몇 가지 알 수 없는 용어들과 섞어서 “할 수 있단다” 라고 말해 주세요.
여기까지 마치도록 하고, 이번 주말은 너무 빨리 지나갔습니다. ㅡ,.ㅡ;; 새로운 한 주를 위해 푹 쉬세요..
'.NET > ASP.NET' 카테고리의 다른 글
Custom Config 에 Intellisence 날개를 달자 (0) | 2008.04.27 |
---|---|
RewritePath 와 포스트백(Postback) 문제와 해결 방법 (0) | 2008.04.13 |
ASPX 확장명 변경과 Visual Studio 에 적용하기 (0) | 2008.04.06 |
웹사이트를 웹 응용 프로그램으로 변환하기 (2) | 2007.11.10 |
FTP 자격인증을 저장하는 방법 (0) | 2007.07.29 |
delegate 를 이용한 게시판 구성 (1) | 2007.07.24 |