더북(TheBook)

.NET은 동일한 패키지의 여러 버전의 문제를 어느 정도 방지하기 위해 바인딩 리디렉션을 지원한다. 바인딩 리디렉션은 .NET이 이전 버전의 어셈블리에서 최신 버전으로 호출을 전달하거나 그 반대 방향으로 전달하도록 하는 애플리케이션 구성 옵션이다. 물론 이것은 두 패키지가 모두 호환될 때만 동작한다. 프로젝트 속성 화면에서 바인딩 리디렉션 자동 생성을 선택할 경우 비주얼 스튜디오가 이를 지원하기 때문에 일반적으로 바인딩 리디렉션을 직접 처리할 필요가 없다.

정기적으로 패키지를 최신 상태로 유지하는 것에는 두 가지 중요한 이점이 있다. 첫째, 유지보수하는 동안 현재 버전으로 업그레이드하는 수고를 분산시킨다. 모든 단계가 덜 고통스러워질 것이다. 둘째, 더 중요한 것은 이러한 모든 사소한 업그레이드가 작고 미묘하게 코드나 설계를 손상시킬 수 있다는 것이다. 우리는 앞으로 나아가기 위해 이것을 수정해야 한다. 이는 바람직하지 않은 것처럼 들릴 수 있지만, 테스트가 있는 한 코드와 설계를 조금씩 개선할 수 있다.

검색 작업에 Elasticsearch를 사용하고, JSON을 파싱하거나 생성할 때 Newtonsoft.Json을 사용하는 웹 애플리케이션이 있을 수 있다. 이 두 라이브러리들은 가장 자주 쓰이는 것 중 하나이다. 여기서 문제는 새로운 기능을 활용하기 위해 Newtonsoft.Json 패키지를 업그레이드해야 할 때 발생한다. Elasticsearch 패키지는 이전 버전을 사용해야 시작하는데, Elasticsearch를 업그레이드하려면 Elasticsearch를 다루는 코드도 함께 수정해야 한다. 어떻게 해야 할까?

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.