2012-12-11 3 views
0

바이너리 형식 기와 함께 tcp 채널을 통해 .net remoting을 사용하는 배포 된 클라이언트 서버 앱에 대한 업데이트 작업을하고 있습니다. 클라이언트가 지리적으로 분산되어 있으므로 가능한 경우에만 서버 쪽에서 업데이트해야합니다. 시스템은 .net 3.5를 사용하며, 클라이언트와 서버는 잘 알려진 구현 클래스를 포함하는 공유 dll을가집니다. 이 DLL에는 강력한 이름이 없습니다..net remoting - 서버 업데이트가 유형 오류를로드 할 수 없습니다.

내가 가진 문제는 내가 서버를 업데이트하고 수정 된 버전을 배포 할 때, 클라이언트는 다음과 같은 오류 메시지를 기록, 실패 할 것입니다 : 오류에 지정된

Cannot load type '(service class name), (assembly name), Version =1.0.0.0, Culture = neutral, Public Key Token = null' 

세부 사항은 세부 사항을 일치 어셈블리가 client.exe 파일과 동일한 디렉토리에 배포되었으므로 클라이언트가로드하지 않는 이유를 실제로 이해할 수 없습니다. 예, 클라이언트는 서버와 다른 버전을 가지고 있지만 버전 번호는 동일하므로 제대로 작동해야합니까?

+0

업데이트로 인해 서버의 구현 어셈블리 복사본에 새로운 외부 종속성이 추가되거나 적용되지 않을 수도 있습니다. – Jules

답변

0

이것은 클라이언트의 이전 계약자를 신뢰하는 위험이 있음을 나타냅니다 ... 나는 그들이 제공 한 소스가 배포 된 시스템과 일치한다고 간단히 추측했지만, 그들은 나에게 오래된 버전을 준 것처럼 보입니다. 이 오류를 일으키는 특정 문제는 그들이 소스를 제공 한 버전과 배포 된 버전 사이에서 잘 알려진 서비스 객체를 포함하는 네임 스페이스의 이름을 변경했기 때문에 배포 된 어셈블리에서 찾을 수없는 오류입니다 .

관련 문제