2011-12-20 2 views
0

WCF 서비스를 호출하는 WPF 프로그램이 있습니다. 그것은 모든 내 PC에서 잘 작동하지만 고객의 PC에서 나는 다음과 같은 오류가 발생합니다.WCF 서비스 호출로 인해 TypeLoadException이 발생합니다.

[글] [헤더] 2011-12-20 10 : 54 : 29809 [5] Kern.Common.Logging.Logger가 WARN - 오차 로그 - 예외의 결과를 만드는 작업 중에 발생 유효하지 않습니다. 예외 세부 사항은 InnerException 을 확인하십시오. 2011-12-20 10 : 54 : 29,928 [5] WARN Kern.Common.Logging.Logger - 내부 예외 - System.TypeLoadException : 형식 'ChannelBase를로드 할 수 없습니다. 1' from assembly 'System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. at KernMobile.Data.Server.KernMobileWcfService.KernServiceClient.CreateChannel() at System.ServiceModel.ClientBase 1.CreateChannelInternal()을 에서 System.ServiceModel.ClientBase 1.get_Channel() at KernMobile.Data.Server.KernMobileWcfService.KernServiceClient.KernMobile.Data.Server.KernMobileWcfService.IKernService.BeginLogin(String username, String password, AsyncCallback callback, Object asyncState) at KernMobile.Data.Server.KernMobileWcfService.KernServiceClient.OnBeginLogin(Object[] inValues, AsyncCallback callback, Object asyncState) at System.ServiceModel.ClientBase 1.InvokeAsync

내가 추적 WCF 켜져 (beginOperationDelegate beginOperationDelegate는 [] inValues, endOperationDelegate endOperationDelegate, SendOrPostCallback operationCompletedCallback, 개체 userState 개체)하지만 로그 파일에보고 된 오류가 없습니다.

<system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="BasicHttpBinding_IKernService" closeTimeout="00:01:00" 
      openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
      allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
      maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" 
      messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
      useDefaultWebProxy="true"> 
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
       maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
      <security mode="None"> 
      <transport clientCredentialType="None" proxyCredentialType="None" 
       realm="" /> 
      <message clientCredentialType="UserName" algorithmSuite="Default" /> 
      </security> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 

    <client> 
     <endpoint address="http://localhost/Kern.Server.Service/KernService.svc" 
      binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IKernService" 
      contract="KernMobileWcfService.IKernService" name="BasicHttpBinding_IKernService" /> 
    </client> 
    </system.serviceModel> 

어떤 아이디어 : 여기

는 서비스 설정인가?

+0

.NET Framework v4.0이 클라이언트 컴퓨터에 설치되어 있는지 확인하고 모든 종속 DLL을 사용할 수 있는지 확인하십시오. – Rajesh

답변

0

마지막으로 수정했습니다.

WCF 서비스 참조에 대한 래퍼로 이식 가능한 라이브러리 프로젝트를 사용했기 때문에 발생했습니다.

이것은 대부분의 PC에서 문제가 없었지만 고객이 잠긴 하드웨어에서는 실패했습니다. 일부 지원 DLL이 누락되었다고 가정합니다.

정상적인 클래스 라이브러리 프로젝트로 변경되어 모두 작동했습니다.

관련 문제