次のようなソリューションに 3 つのプロジェクトがあります。
- WCF サービス: いくつかのメソッドをホストします
- クラス ライブラリ: Soap クライアントのインスタンスを返すことにより、WCF サービスへのゲートウェイとして機能します。
- WPF アプリケーション: 参照されたクラス ライブラリを介してサービス メソッドを使用します。
すべてが完璧に機能していました...アプリケーションは、ライブラリを介して SOAP クライアントのインスタンスにアクセスし、それに応じてメソッドを消費していました。
これで、アセンブリに署名してもすべてがコンパイルされ、新しいメソッドを追加してライブラリのサービス参照を更新すると、新しいメソッドがアプリケーションに表示されます...しかし、アプリケーションを実行してメソッドを使用しようとすると、 aMissingMethodException
がスローされます:
メソッドが見つかりません: 'MusicData.Entities.User DBAccess_Gateway.DBInteraction_Service.DBInteractionGatewayClient.User_Login(System.String, System.String)'.
これは失敗した行です:
var user = WSGateway.MR_WebService.User_Login(username.Text, crypto.Encrypt(passphrase.Password));
署名されているアセンブリ(現在は署名されているためgacにありますか?)に関係があると思います...しかし、メソッドが見つからないのはなぜですか?署名されたアセンブリが正しく更新されていませんか?