2009-05-14 5 views
0

다른 응용 프로그램에서 사용하는 일부 UI 컨트롤이 포함 된 새 라이브러리 버전을 개발 중입니다. 이러한 컨트롤 중 일부에는 이전 응용 프로그램에서 알 수없는 새로운 기능이 있습니다. 기본적으로 새 기능을 사용 중지하지만 사용 가능하게 할 특정 앱이 있습니다. 앱은 동일한 컴퓨터에 존재할 가능성이 큽니다.이전 응용 프로그램에서 새 라이브러리 기능 처리

어떻게 구현 하시겠습니까?

업데이트 : 내가 함께 왔어요 가장 좋은 솔루션입니다 이 Process.GetCurrentProcess을 (사용) 및 재정의 값을 지정하는 레지스트리 키를 찾기 위해 proc.MainModule.FileVersionInfo.InternalName 같은 것을 사용합니다. 또한 새로운 기능에 대해 알기에는 너무 오래되었음을 확인하기 위해 버전 번호를 조사하는 것이 좋습니다. 이 방법에 문제가 있습니까?

업데이트 : 추가 된 기능은 컨트롤 안에 캡슐화되어 있기 때문에 일부 컨텍스트에서는 의미가 있고 다른 일부 컨텍스트에서는 의미가 없습니다.

+0

이전 앱을 업데이트 할 수 없습니까? 원하는 컨트롤의 새로운 기능을 사용 하시겠습니까? –

+0

오래된 앱은 결국 업데이트 될 예정이지만 업그레이드를하지 않고도 적절한 경우 해당 기능을 사용하고 싶습니다. – dmo

답변

0

나는 그렇게 할 수 있다고 생각하지 않습니다. 인터페이스를 이전 응용 프로그램으로 변경할 수 없으므로 새 데이터를 수신하거나 반환 할 수 없습니다. 따라서 새 컨트롤은 기존 컨트롤과 마찬가지로 이전 응용 프로그램과 동작해야합니다. 이제 새로운 컨트롤에서 컨트롤 내에 완전히 캡슐화 된 동작 (예 : 고정 또는 최소화 또는 이와 유사한 동작)이있는 경우 이러한 기능은 기존 응용 프로그램에서 작동합니다. 이전 응용 프로그램이 새 컨트롤을 사용하는 데있어 견고한 놈과 봇을 처리 할 수 ​​있습니다.이 컨트롤은 강력한 컨트롤이라고 가정하고 Publisher Policies을 사용하는 GAC에서 사용합니다.

+0

기능이 캡슐화되어있어 항상 의미가있는 것은 아닙니다. 나는 명확하게하기 위해 질문을 업데이트했다. – dmo

+0

또한 새 버전에는 수정 사항이 있으므로 게시자 정책을 통해 이전 버전을 강제로로드하지 않으려합니다. – dmo

관련 문제