VS.NET 2005에서는 로컬 Cassini 웹 서버를 이용하여 IIS 관리자에 별도의 가상 디렉토리없이 프로젝트 개발을 할 수 있게 해주고 있습니다.
그런데, 한 가지 문제가 있죠. 기본적으로 "Virtual Path"를 붙여준다는 것입니다. 서버 측 컨트롤 같은 경우에는 "~"를 이용해서 가상 응용 프로그램 기준으로 경로를 제공해 줄 수는 있지만, 디자이너에게서 오는 거의 모든 파일은 img, script, link 등의 자료들은 경로가 정해지기 때문에, 실서버 기준으로 하게 되면 로컬에서 개발 도중에는 경로가 올바르지 않을 수밖에 없습니다.
이런 경우, 다음과 같이 해주시면 루트 하위의 "Virtual Path"를 제거할 수 있습니다.
1. WebDev.WebServer.EXE를 수동으로 실행시켜 줍니다. (개발하는 동안 한 번만 실행해 주면 되기 때문에 그다지 불편하지는 않을 것입니다.) 단, 이때 인자를 원하는 데로 설정하셔야 합니다.
만약, C:\Temp2\TempSite가 ASP.NET 2.0 개발 사이트인 경우,
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer.EXE /port:8080 /path:d:\temp2\tempsite
위와 같이 실행시켜 주시면 됩니다. 트레이에 있는 WebDev.WebServer.EXE 실행 아이콘에서 "Show Details" 메뉴를 선택하면 다음과 같이 "Virtual Path"가 "/"로 되어 있는 것을 확인할 수 있습니다.
2. 이제, 간이 웹 서버는 실행되어졌으니, VS.NET 2005의 개발환경에서 프로젝트 설정을 그에 맞게 설정을 해줍니다. 웹 사이트 프로젝트의 속성창을 선택해서 "Start Options" 노드를 선택한 후, 아래와 같이 "Use custom server"에 "http://localhost:8080" 값을 넣어 줍니다.
이것으로 준비는 끝입니다.
1번 과정이 다소 불편할 수 있겠는데요. 이를 다른 식으로 해결한 방식을 아래의 토픽에서 설명합니다. 원하시는 분들은 그대로 따라하셔도 좋겠지요. ^^
ASP.NET 2.0 Web Server Here" Shell Extension
;
http://weblogs.asp.net/rmclaws/archive/2005/10/25/428422.aspx
Title |
11166 | 정성태 | 3/28/2017 | 23127 | 오류 유형: 382. System.Data.SqlClient.SqlException - Arithmetic overflow error converting IDENTITY to data type int. | |
11165 | 정성태 | 3/27/2017 | 25823 | 오류 유형: 381. Visual C++에서 min, max 함수를 사용한 경우 C2589, C2059 컴파일 오류 발생 | |
11164 | 정성태 | 3/27/2017 | 34565 | VC++: 111. C++ 클래스의 상속에 따른 메모리 구조 [2] | 1 |
11163 | 정성태 | 3/25/2017 | 24111 | VC++: 110. CreateThread Win32 API에 C++ 클래스의 멤버 함수를 전달하는 방법 | 1 |
11162 | 정성태 | 3/24/2017 | 28886 | 오류 유형: 380. Visual Studio 빌드 실패 - The OutputPath property is not set for project | |
11161 | 정성태 | 3/24/2017 | 19079 | 오류 유형: 379. ICOMAdminCatalog.GetCollection 호출 시 0x80070422 예외 발생 | |
11160 | 정성태 | 3/23/2017 | 26127 | .NET Framework: 649. ASP.NET - Server cannot append header after HTTP headers have been sent. (HTTP 헤더를 보낸 후에는 서버에서 헤더를 추가할 수 없습니다.) | 1 |
11159 | 정성태 | 3/23/2017 | 23339 | Windows: 136. Memory-mapped File은 Private Bytes 크기에 포함될까요? | 1 |
11158 | 정성태 | 3/22/2017 | 21440 | 디버깅 기술: 85. Windbg - SOS 디버깅 사례 System.NullReferenceException 예외 추적 | |
11157 | 정성태 | 3/22/2017 | 24565 | .NET Framework: 648. Dictionary<TKey, TValue>를 deep copy하는 방법 | 1 |
11156 | 정성태 | 3/21/2017 | 26783 | .NET Framework: 647. 닷넷(C#) 코드로 인증서 요청 코드 만드는 방법 | 1 |
11155 | 정성태 | 3/21/2017 | 27213 | .NET Framework: 646. SslStream의 CipherAlgorithm 선택이 가능할까요? | 1 |
11154 | 정성태 | 3/5/2017 | 32428 | VC++: 109. DLL에서 STL 객체를 인자/반환값으로 갖는 함수를 제공할 때, 그 함수를 외부에서 사용하는 경우 비정상 종료한다면? [2] | 1 |
11153 | 정성태 | 3/5/2017 | 32744 | VC++: 108. DLL에 정의된 C++ template 클래스의 복사 생성자 문제 | 1 |
11152 | 정성태 | 3/4/2017 | 28103 | VC++: 107. VirtualAlloc, HeapAlloc, GlobalAlloc, LocalAlloc, malloc, new의 차이점 [1] | 1 |
11151 | 정성태 | 3/3/2017 | 27251 | VC++: 106. DLL 개발자가 주의해야 할 Secure CRT 함수 사용 [1] | 1 |
11150 | 정성태 | 2/21/2017 | 22983 | .NET Framework: 645. Visual Studio Fakes 기능에서 Shim... 클래스가 생성되지 않는 경우 [5] | |
11149 | 정성태 | 2/21/2017 | 26914 | 오류 유형: 378. A 64-bit test cannot run in a 32-bit process. Specify platform as X64 to force test run in X64 mode on X64 machine. | |
11148 | 정성태 | 2/20/2017 | 26177 | .NET Framework: 644. AppDomain에 대한 단위 테스트 시 알아야 할 사항 | |
11147 | 정성태 | 2/19/2017 | 23542 | 오류 유형: 377. Windows 10에서 Fake 어셈블리를 생성하는 경우 빌드 시 The type or namespace name '...' does not exist in the namespace 컴파일 오류 발생 | |
11146 | 정성태 | 2/19/2017 | 24048 | 오류 유형: 376. Error VSP1033: The file '...' does not contain a recognized executable image. [2] | |
11145 | 정성태 | 2/16/2017 | 25655 | .NET Framework: 643. 작업자 프로세스(w3wp.exe)가 재시작되는 시점을 알 수 있는 방법 - 두 번째 이야기 [4] | 1 |
11144 | 정성태 | 2/6/2017 | 28807 | .NET Framework: 642. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (부록 1) - CallingConvention.StdCall, CallingConvention.Cdecl에 상관없이 왜 호출이 잘 될까요? | 1 |
11143 | 정성태 | 2/5/2017 | 26986 | .NET Framework: 641. [Out] 형식의 int * 인자를 가진 함수에 대한 P/Invoke 호출 방법 | 1 |
11142 | 정성태 | 2/5/2017 | 34118 | .NET Framework: 640. 닷넷 - 배열 크기의 한계 [2] | 1 |
11141 | 정성태 | 1/31/2017 | 28989 | .NET Framework: 639. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (4) - CLR JIT 컴파일러의 P/Invoke 호출 규약 [1] | 1 |