2008-11-03 4 views
3

나는 COM 객체 (ftpte) 인 CuteFTP의 전송 엔진을 래핑하는 .NET 콘솔 앱을 작성했습니다. 내가 포장 한 버전은 CuteFTP 7.0입니다. 또한 8.0 버전을 지원하고 싶습니다. 일부 고객과 통합 할 때 해당 버전이 있습니다.COM/Interop - 복수 버전 지원

내 Visual Studio 프로젝트에서 CuteFTP COM 개체에 대한 참조가 있습니다 ... 어떻게 버전 8.0 구성 요소를 참조하고 7.0 버전을 계속 지원할 수 있습니까? 더 큰 아키텍처 변화를하지 않는 한, 디자인 타임에 선택해야만하는 것처럼 보입니다.

아이디어가 있으십니까?

답변

3

지원해야 할 가장 낮은 버전을 참조해야하며 새 버전이 API를 변경하지 않고 새로운 기능을 추가하기 만하면 OK입니다. 그러나 그것은 분명히 API를 깨뜨리지 않는 애플리케이션 개발자에 달려 있습니다.

그런 식으로하면 새 버전에 추가 된 새로운 기능을 놓치게되지만 적어도 이전 기능이 작동해야합니다.

+0

죄송합니다 ... 나는이 답변을 오래 전에 작성 했어야합니다. 불행히도 새로운 API는 획기적인 변화를 가져 왔지만 플러그인 모델을 만들고 별도로 포장 된 라이브러리에 버전을 넣었습니다. v.7이 필요하십니까? 이 DLL을 사용하십시오. Ver 8.0에서는이를 대신 사용합니다. –

4

내 취미 오픈 소스 프로젝트 MS Office Wrapper for .NET을보십시오. 다른 버전의 COM 라이브러리를 사용할 수있는 "후기 바인딩"이 사용되었습니다.