2012-02-12 2 views
0

클라이언트를 실행하려고하면이 오류가 나타납니다.'StringPro.IMyString'형식이 참조되지 않은 어셈블리에 정의되어 있습니다.

'StringPro.IMyString'형식이 참조되지 않은 어셈블리에 정의되어 있습니다.

이 오류는 파일 Program.cs에서 StringProClient에서 온다 코드의 파란색 다음 첫 번째 줄에 밑줄 :이 솔루션은 내부 4 개 프로젝트를 진행하고

StringProProxy.StringProProxy proxy = new StringProProxy.StringProProxy(); 

:

StringPro - 서비스의 인터페이스 (IMyString.cs)와 구현 클래스 (MyString.cs)가 포함 된 클래스 라이브러리

StringProHost-Uri 정의하는 내부 Program.cs, ServiceHost, Endpoint, ServiceMetadataBehaviour, HttpGetEnabled, host.Description.Behaviours을 가지고 콘솔 응용 프로그램 host.Open() 및 서비스가

StringProProxy 시작되었을 때에 대한 콘솔 정보에 표시를 호출 - 내가 믿는 서비스의 프록시를 정의하는 StringProProxy.cs 만 있으므로 클래스 라이브러리 프로젝트입니다.

StringProClient - ser를 인스턴스화하는 Console Application 내부에있는 부사장의 프록시를 호출하고 서비스의 기능을 호출하고 결과를 표시합니다.

EDIT : 서비스 호스트가 정상적으로 시작됩니다. 앞에서 언급 한 오류로 인해 빌드 및 실행되지 않는 클라이언트입니다.

답변

2

프로젝트가 다른 어셈블리에서 선언 된 형식을 사용하는 경우이 어셈블리를 참조해야합니다. 이는 기본적으로 오류가 말한 것입니다. 귀하의 경우에는

, 나는 StringProClientStringProProxy을 referecing 것을 추측하고있어, 그러나 또한 (정확한 수 : IMyString 인터페이스/클래스) StringPro 프로젝트에 선언 된 유형을 사용하고, 그것을 참조하지 않고. StringProClientStringProProxyStringPro을 모두 참조해야합니다.

+0

작동하는 경우는 그렇지 않습니다. 이제 나는 그것을 실행하려고 시도했다.'ServiceModel 클라이언트 설정 섹션에서 'StringPro.IMyString'계약을 참조하는 기본 엔드 포인트 요소를 찾을 수 없습니다. ' – Bob

+0

@Bob 이것은 완전히 다른 오류입니다. 이전 하나는 일반적인 C# 컴파일러 중 하나였습니다. 이제 WCF가 하나 있습니다. 다른 SO.com 질문을 확인할 수 있습니다. 예를 들면 다음과 같습니다. http://stackoverflow.com/questions/352654/could-not-find-default-endpoint-element –

+0

하나의 Visual Studio 인스턴스에서 호스트와 클라이언트를 모두 실행하려면 어떻게해야합니까? 왜냐하면 내가 호스트를 실행하면 클라이언트를 실행할 수 없기 때문에 프로젝트 뷰어를 사용할 수 없기 때문입니다. StringPro를 실행하려고하면 클래스 라이브러리이므로 실행되지 않습니다. – Bob

0

이러한 문제는 대부분 네임 스페이스와 같은 문제에서만 발생합니다. 네임 스페이스뿐만 아니라 참조를 다시 확인하십시오.

관련 문제