2012-02-12 6 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、ServiceHostEndpointServiceMetadataBehaviourHttpGetEnabledhost.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まったく違うエラーです。前の1つは、一般的なC#コンパイラの1つでしたが、今はWCFを1つ持っています。あなたはそれについて他のSO.comの質問をチェックすることができます。たとえば、次のようにします。http://stackoverflow.com/questions/352654/could-not-find-default-endpoint-element –

+0

1つのVisual Studioインスタンスからホストとクライアントの両方を実行するにはどうすればいいですか?なぜなら、私がホストを走らせると、プロジェクトビューアが無効になるので、私はクライアントを実行できないからです。 StringProを実行しようとすると、クラスライブラリであるため実行されません。 – Bob

0

このような問題は、ネームスペースのような問題でのみ発生します。名前空間だけでなく参照もしっかりと確認してください。

関連する問題