2011-03-02 4 views
0

현재 웹 응용 프로그램 프로젝트 팀에서 작업 중이며 로컬 IIS 웹 서버를 통해 프로젝트를 실행하고 각 가상 컴퓨터가 모든 가상 디렉터리 그들은 좋아한다.웹 응용 프로그램 프로젝트의 IIS 가상 디렉터리/URL 재정의

현재 우리가 체크인 할 때마다 우리는 서로의 가상 디렉토리 설정을 서로 충돌하고 있습니다.

우리는 가상 디렉터리에 동의 할 수 있지만 실제로이 디렉터리를 사용하면 다른 컴퓨터에서 저장소의 복사본을 여러 개 보관할 수있는 다른 문제를 해결할 수 없다는 것을 알고 있습니다. 별도의 가상 디렉터리로.

그래서 우리가 찾고있는 결과는 다음과 같을 것이다 :

디바이스 1은 말하자면 C에서 체크 아웃을 가지고는/dev/웹 애플리케이션이 로컬 IIS에서 가상 디렉터리에 매핑 로컬 호스트/웹 애플리케이션

그런 말을 Dev 2는 가상 호스트에 매핑 된 c :/workspace1/WebApp에 localhost/workspace1/MyWebApp을 할당합니다.

AND Dev 2는 가상 호스트에 매핑 된 c :/workspace2/WebApp에서 checkout을 가지고 있습니다. localhost/workspace2/WebApp

PS. Dev 2가 두 가지 체크 아웃을하는 이유는 액티브 한 개발 작업을 위해 on을 사용하고 브랜치 간의 병합을 위해 다른 것을 사용하기 때문입니다.

+0

당신은 그것을 가지고 있지 않은거야? 즉, 사람들은 매핑 된 드라이브를 말하고 글자 그대로 동일한 프로젝트 파일을 열지 않고 연결하고 있습니까? – Thomas

+0

아니요 소스 컨트롤을 사용하고 있지 않습니다. – JimmyP

+0

자신의 컴퓨터에있는 각 개발자가 서로 다른 두 개의 코드베이스를 가리키는 두 개의 서로 다른 웹 응용 프로그램을 실행하는 방법이나 각 개발자가 서로 다른 가상 구조를 가질 수있게하는 방법을 알아 내려고 노력하고 있습니까? WAP? 예를 들어 특정 응용 프로그램의 경우 dev1은 로컬 IIS에/root/app를 가지고 있고 dev2는 동일한 응용 프로그램에 대해 IIS에/root/projects/spiffyvdir/app를 가지고 있으므로 dev2에서 vdir이라는 응용 프로그램을 열면 프로젝트 파일이 불평합니다 존재하지 않는다? – Thomas

답변

2

몇 번 이상이 전쟁에 맞서 싸웠습니다. 우리의 솔루션은 "내장"web dev 서버를 사용하도록 프로젝트를 구성하는 것이 었습니다. 그런 다음 응용 프로그램을 디버깅해야하는 경우 attach to process 명령을 사용하여 해당 프로세스에 연결하십시오.VS2010은 VS2010을 확장 한 것입니다. 정확하게 말하면 vscommands를 사용하면 프로젝트를 마우스 오른쪽 버튼으로 클릭하여 로컬 IIS에 연결할 수 있습니다.

프로젝트를 열 때 IIS를 설치하지 않아도되고 Windows의 다른 버전에 대한 사용자에게 친숙하지 않아도된다는 장점이 있습니다.이 트릭은 XP, 2003 서버를 사용하는 개발 팀이있을 때 태어났습니다. 비스타 팀은 같은 일을 할 수있는 "올바른"방법에 동의하지 않을 수 없었습니다.

0

질문에 명확하지 않습니다. 각 팀 구성원은 자신의 로컬 IIS에서 프로젝트를 실행할 수 있습니다.이 경우 다른 사람과 충돌하지 않습니다. TFS의 VSS와 같은 소스 제어가 필요해 파일의 변경 사항을보다 동기화 할 수 있어야합니다.

+0

-1 : 당신은 정말로 질문을받지 못했습니다. 그래서 왜 대답합니까? –

+0

Atleast 여기에서 징징 대는 것과는 달리 ... – XtremeBytes

0

팀 구성원이 모두 Windows Vista 또는 7을 사용하는 경우 해당 로컬 IIS는 버전 7 또는 7.5 여야합니다. IIS 7.x의 장점은 여러 웹 사이트를 동시에 실행할 수 있다는 것입니다. Windows XP의 IIS 5.1은 한 번에 하나의 웹 사이트 만 실행할 수 있습니다.

따라서 팀은 "localhost"로 표시된 "기본 웹 사이트"아래의 가상 디렉터리가 아닌 로컬 IIS에서 단일 웹 사이트를 사용하여 각 웹 응용 프로그램 프로젝트를 설정할 수 있습니다. 물론 그렇게하려면 C : \ Windows \ System32 \ drivers \ etc에있는 "hosts"파일을 수정해야합니다.

예를 들어, 팀에서 admin 및 public과 같은 웹 응용 프로그램 프로젝트를 두 개 이상 실행하는 경우 도메인 이름으로 각각 "admin.local"및 "public.local"을 가질 수 있습니다. 물론이 도메인 이름은 모든 팀 구성원의 "호스트"파일에 저장해야합니다.

그래서, 자신의 URL은 다음과 같습니다

  • 가 /을

    을 관리 로컬 호스트 -을 admin.local
  • 공공 로컬 호스트를 /> -> public.local

가 특정 프로젝트의 구성원 모두가 동의하는 경우 이를 사용하기 위해서는 버전 컨트롤러에서 파일을 다운로드 할 때마다 계속 변경되는 가상 디렉터리 문제로 귀찮게 할 필요가 없습니다. 희망이 당신에게 통찰력을 줄 수 있습니다.

+0

이것은 repo의 다른 체크 아웃에 매핑되는 내 고유의 IIS에서 두 가지 버전을 실행할 수 있다는 문제를 해결하지 못합니다. – JimmyP

4

로컬 IIS 서버를 사용할지 여부를 나타내는 웹 응용 프로그램 프로젝트의 속성에서 서버 섹션의 설정을 프로젝트 파일에 저장하지 않도록 지정하여 모든 사용자에게 적용 할 수 있습니다. 한번 그렇게하면 모든 개발자가 프로젝트 파일을 변경하지 않고 이러한 설정을 변경하여 개발자가 서로 쾅쾅 거리지 않도록 할 수 있습니다. 모든 팀 구성원이 바로 동일한 실제 파일을 편집 할 수 있도록

enter image description here

+0

거룩한 담배, 언제 그 버튼을 추가 했습니까? –

+0

@Wyatt Barnett - VS 2008에 추가 된 것 같습니다. – Thomas

+0

직접 편집 프로젝트 파일을 얻었습니다. –