나는 최근 에 여러 개의 .net 솔루션이 있는 오래된 레거시 코드베이스로 새로운 클라이언트를 위해 일하기 시작했습니다 . 각 솔루션은 일반적으로 해당 솔루션에 고유 한 일부 프로젝트를 호스팅하지만 다른 프로젝트는 "빌리기"/ "링크"(기존 프로젝트 추가)합니다. 기술적으로 다른 솔루션에 속합니다 (적어도 TFS의 폴더 구조를 사용하는 경우)
나는 이것이 얽힌 설정을 보지 못했으며, 명확한 빌드 순서가 없으며 때로는 솔루션 A의 프로젝트가 솔루션 B에서 호스팅 된 프로젝트의 출력 디렉토리에서 직접 dll을 참조하고 때로는 프로젝트가 상주하더라도 직접 포함 된 경우가 있습니다. 폴더 구조에서 멀리 떨어져 있습니다.
모든 게 개발자 게으름에 최적화 된 것 같습니다.
CI 서버가없는 이유에 대해 대면했을 때와 같이 구성된 코드로 설정하기가 어렵다고 응답했습니다. (지금 설정 하고이 코드 구성을 저주하고 있습니다)
솔루션은 현명한 결정 이라고 생각 되는 배포 아티팩트 (함께 배포 해야하는 것들이 동일한 솔루션에 있음)를 중심으로 구성 되지만 해당 솔루션 (프로젝트)의 내용은 모든 곳에 있습니다.
여러 솔루션 / 배포 아티팩트에서 공통 클래스 라이브러리를 재사용 할 때 사용할 모범 사례에 대한 합의가 있습니까?
- VCS에서 코드를 구성하는 방법
- 별도의 배포 아티팩트간에 비즈니스 로직 공유를 용이하게하는 방법