답변:
나는 nuget 이 종속성을 처리하는 가장 좋은 방법 이라고 말합니다 .
nuget은 버전을 관리하고 로컬 nuget 서버 에서 종속성을 자동으로 다운로드 할 수 있습니다 .
로컬 서버를 생성 / 구성하는 것은 매우 쉽습니다. 비어있는 새 ASP.NET 프로젝트를 만들고 nuget-servernuget 패키지를 설치하십시오 (nuget; 사용).
또한 모든 종속성을 체크인하거나 TFS를 사용하여 버전을 관리 할 필요가 없습니다.
마이크로 소프트는 참조를 처리하는 가장 좋은 방법은 하나의 거대한 솔루션으로 프로젝트를 구축하는 것이라고 말합니다. 그렇습니다, 그들은 정말로 그것을 의미합니다.
패턴 및 실무 팀은 TFS와 관련하여 모범 사례를 결합했지만 일반 빌드에 적용됩니다. 대부분의 사람들이 빌드를 관리하고 아티팩트를 공통 디렉토리에 복사하여 빌드를 관리하는 방법과 매우 유사한 파티션 된 접근 방식 인 "1 큰 솔루션"의 세 가지 유형의 솔루션 설정이 있습니다. 서버 전체의 '포함'또는 '라이브러리'경로를 참조해야 함) 및보다 복잡한 버전의 파티션 된 다중 솔루션 설정.
그들은 말한다
In general you should:
Use a single solution strategy unless the resulting solution is too large to load into Visual Studio.
Use multiple solutions to create specific views on sub-systems of your application.
Use multiple solutions to reduce the time it takes to load a solution and to reduce build time for developers.
TFS의 경우 서브 버전의 외부와 유사한 작업 영역 매핑에 의존하기보다는 프로젝트 내부의 외부 프로젝트를 분기하는 것이 좋습니다. 개인적으로 나는 그들의 조언이 모범 사례는 아니라고 생각하지만 참조를 사용할 때 얻을 수있는 빌드 문제를 최소화하려고한다고 생각합니다.
.NET 빌드에는 필요한 것만 빌드하고 모든 것을 수행하는 야간 빌드를 수행하여 시스템을 단축하려고 시도하는 모든 문제가 있었으며 모든 새 어셈블리를 디렉토리에 복사하는 것이 모든 사람, 특히 테스터와 동기화하는 가장 좋은 방법이었습니다. 이것은 실제로 .NET 응용 프로그램에만 적용되며 C ++ 구성 요소는 버전 화 된 어셈블리 또는 구성 요소 호출에 문제를 일으킬 수있는 유사한 측면이 없기 때문에 여전히 작동하는 경향이 있습니다. 이 접근법은 잘 작동하지만 부분 빌드가 정상이라고 가정 할 수는 없으며 전체를 피하고 재 구축이 가장 안전합니다.