우리 부서에서는 통합 커뮤니케이션 서버를 위해 여러 개의 작은 애드온을 개발하고 있습니다. 버전 관리 및 분산 개발에는 Team Foundation Server 2012를 사용합니다.
그러나 모든 응용 프로그램 및 라이브러리에 대해 하나의 큰 TFS 솔루션이 있습니다.
- 주요 솔루션
- 응용
- 앱 1
- 앱 2
- 앱 3
- 외관
- 라이브러리
- Lib 1
- Lib 2
- 도구
- 응용
"응용 프로그램"경로에는 모든 주요 응용 프로그램이 포함됩니다. 그것들은 서로 의존하지 않지만 라이브러리와 외부 프로젝트에 의존합니다.
"외부"경로에는 응용 프로그램 및 라이브러리에서 참조되는 일부 외부 DLL이 포함되어 있습니다.
라이브러리 경로에는 일반적으로 사용되는 라이브러리 (UI 템플릿, 도우미 클래스 등)가 포함됩니다. 이들은 서로 의존하지 않으며 라이브러리 및 도구 프로젝트에서 참조됩니다.
도구 경로에는 설정 도우미, 웹 서비스 업데이트 등과 같은 일부 도우미 프로그램이 포함되어 있습니다.
이제이 구조를 변경하고 싶은 몇 가지 주요 사항이 있습니다.
- 우리는 서버 빌드를 사용할 수 없습니다.
- 이와 같은 솔루션 구조로 스프린트, 장애 등으로 TFS 스크럼 관리를 관리하는 것은 불편합니다.
- 모든 개발자는 항상 솔루션의 모든 프로젝트에 액세스 할 수 있습니다.
- Visual Studio에서 실수로 [F6]을 누르면 전체 빌드가 너무 오래 지속됩니다 ...
이 솔루션에서 무엇을 변경 하시겠습니까? 이러한 프로젝트를 더 작은 솔루션으로 나누는 방법과 솔루션 구성 방법
첫 번째 방법은 각 응용 프로그램, 라이브러리 및 도구마다 하나의 TFS 프로젝트를 만드는 것입니다. 그러나 App 2에 항상 최신 버전의 Lib 1이 포함되도록하려면 어떻게해야합니까? Lib가 변경되는 즉시 Lib 1에서 변경 사항을 모니터링하고 App 2를 수동으로 업데이트해야합니까? 아니면 어떻게 든 Visual Studio가 항상 최신 버전의 외부 프로젝트를 사용하도록 강요 할 수 있습니까?
편집 : TFS에는 하나의 TFS 팀 프로젝트가 포함 된 하나의 TFS 팀 프로젝트 콜렉션이 있습니다. 팀 프로젝트에는 하나의 큰 Visual Studio 솔루션이 포함되어 있으며 여기에는 여러 VS 프로젝트가 포함 된 폴더가 여러 개 포함되어 있습니다 (위 구조 참조).
내 질문은 이제 어떻게 재구성 할 것인가입니다.
- TFS 팀 프로젝트
- VS 프로젝트