2013-10-08 3 views
0

우리는 TFS를 소스 컨트롤로 사용합니다. TFS에서는 여러 개의 Visual Studio 프로젝트로 구성된 솔루션을 제공합니다. 우리는 계약자가 이러한 프로젝트 중 하나의 소스 코드를 보지 못하게합니다 (제한된 사용자는 여전히 모든 컴파일 된 어셈블리를보아야합니다). 두 개의 저장소를 설정하지 않고 두 코드 간의 모든 코드 변경 사항을 동기화하지 않고 목표를 달성하는 가장 좋은 방법은 무엇입니까?여러 프로젝트로 구성된 솔루션에서 단일 프로젝트에 대한 읽기 액세스를 거부합니다.

답변

4

보호하려는 프로젝트를 자체 솔루션으로 옮기는 권한을 변경하는 대신 해당 솔루션을 사용하는 별도의 폴더로 이동하는 것이 좋습니다. 위와 같이 폴더를 고정하십시오. 그런 다음이를 개별적으로 구축하여 내부 너겟 저장소에 배치 할 수 있습니다.

그러면 Visual Studio 패키지 관리자에서 해당 리포지토리를 참조 할 수 있으며 외부 종속성으로 관리됩니다. 다른 솔루션을 업데이트하고 게시하면 다른 개발자에게 업데이트가 통보됩니다.

4

고급 -> 보안에서 소스 제어 탐색기을 선택하면 폴더에 대한 액세스 권한을 제어 할 수 있습니다. 여기에서 보호해야하는 항목에 대한 보안 상속을 해제 할 수 있습니다. 그런 다음 '제한된 사용자'만 포함하는 TFS 관련 그룹을 만들고 특정 프로젝트 폴더에 대한 액세스 만 허용하십시오. 또는 계약자 그룹을 만들고 액세스를 거부하십시오. 이것은 VS/TFS 2012를 기반으로합니다.

그러나 내 생각에 특정 프로젝트가없는 계약자를위한 특정 솔루션을 만들어야 할 것입니다.

+0

답장을 보내 주셔서 감사합니다. 이것은 지난 24 시간 동안 내가 알아 낸 것과 매우 유사합니다. 한 가지 확실하지 않은 질문은 숨겨진 프로젝트에서 컴파일 된 어셈블리의 최신 버전을 사용하여 새로 만든 작은 솔루션에 비 숨겨진 프로젝트를 제공하는 방법입니다. 이것에 대한 제안이 있습니까? – SoftwareFactor

+0

아래 MrHinsh의 제안을 위해 Nuget을 사용합니다. –

관련 문제