서비스,이 클래스에서 서비스 작업을 상속하는 모든 클래스 구현하는 3.0 DLL 사용하여 .NET 2.0 프로젝트의 문제 :WCF의 내가 하나 개의 프로젝트에서 내 WCF 서비스에 액세스하는 클라이언트를 만들어
public abstract class ServiceClient<TServiceClient> : IDisposable where TServiceClient : ICommunicationObject
을
이 클래스는 처분, 클라이언트 호출시 로깅 등 모든 서비스 클래스가 정상적으로 수행하는 일반적인 작업을 수행하는 곳입니다.
오래된 시스템에서이 작업을 구현할 때까지 모든 것이 잘 작동했습니다. System.ServiceModel
을 참조 할 수없는 다른 프로젝트에서이 프로젝트 (DLL)를 사용할 때 문제가 발생했습니다 (이전 .NET 2.0 소프트웨어이므로 3.0으로 업그레이드하는 것이 궁금합니다). 여기에 내가 where TServiceClient : ICommunicationObject
를 생략하면, 다음 프로젝트를 구축 할 수 있지만, ServiceClient
예를 들어, 사용할 수 없습니다 client.Close()
또는 client.State
그래서, where
문을 드롭하고, 서비스 클래스를 다시 내 유일한 해결책은?
"(여전히 유지 관리되는 오래된 .NET 2.0 소프트웨어이므로 3.0으로 업그레이드하는 것이 궁금합니다.)"라는 의미는 무엇입니까? 2.0 앱의 클라이언트가 .NET 3.0+ 프레임 워크를 설치할 수 없습니까? 또는 VS에서 2.0 프로젝트를 열 수없고 .NET 3.0+를 대상으로 다시 컴파일 할 수 있습니까? 기존 앱을 2.0에서 3.0으로 가져 오려면 실제 코드를 변경하지 않아도됩니다. – mbeckish
글쎄, 서버에 최신 프레임 워크가 설치되어있어 DLL을 가져올 수 있습니다 (사전 컴파일 됨 - 솔루션을 프로젝트에 추가 할 수 없습니다). 그리고 같은 프로젝트에서 많은 사람들이 작업하고 있습니다 (예, 솔루션이 아니라 프로젝트를 의미합니다). 단지 업그레이드 할 수 없습니다 (이 문제가 즉시 해결된다는 것을 알고 싶다면). – avance70