2010-04-01 3 views
0

사용자가 "프로젝트"를 유지하고 저장할 수있는 .NET 프레임 워크 응용 프로그램을 개발 중입니다. 프로젝트는 프레임 워크 자체 및/또는 아직 빌드되지 않은 플러그인 아키텍처를 통해 프레임 워크에서 사용할 수있는 타사 어셈블리에서 어셈블리의 유형이 정의 된 구성 요소로 구성 될 수 있습니다. 프로젝트가 저장되면 단순히 파일로 이진 - 직렬화됩니다.더 이상 제공되지 않는 플러그인에서 정의 된 처리 유형

프로젝트는 이식성이 있으므로 여러 사용자가 동일한 프로젝트를 자체 프레임 워크 인스턴스에로드 할 수 있습니다. 다른 사용자가 동일한 MSWord 문서를 자신의 MSWord 로컬 복사본에서 열 수 있습니다. 또한 한 사용자의 프레임 워크에서 사용할 수있는 플러그인을 다른 사용자의 프레임 워크에서 사용할 수 없을 수도 있습니다.

(프레임 워크 버전이 호환되지 않거나 플러그인이 없기 때문에) 정의 어셈블리를 찾을 수없는 유형이 포함 된 프로젝트를 사용자가 열려고 시도 할 때 (즉, 역 직렬화) 프로젝트는 여전히 열리지 만 문제가되는 유형은 어떻게 든 대체되거나 생략됩니다. 문제는 내가 지금까지 한 연구가 적절한 접근법을 암시하지 않는다는 것이다. 어떤 아이디어라도 감사 할 것입니다. 감사합니다.

답변

0

리플렉션을 사용하여 사용자 고유의 시리얼 라이저를 만들어야합니다.

+0

그래,이 문제에 대해 궁금해했지만 실제로 가고 싶지 않았습니다. 즉, 필자는 직렬화 된 프로젝트의 공간을 줄여야 할 필요가있다. 응답 해 주셔서 감사합니다. – Chris

0

이 문제는 아키텍처에 크게 달려 있습니다. 인터페이스 및 종속성 삽입은 사용자가 설명하는 "플러 거블"아키텍처를 구현하는 데 사용되지만 사용할 수없는 유형 정의에서 "복구"하는 방법 만 결정할 수 있습니다. 프로젝트의 모든 구성 요소가로드되지 않을 수도 있다는 사실을 설계에 반영해야합니다.

관련 문제