Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对程序集签名后未找到WCF方法_C#_.net_Web Services_Wcf_Gac - Fatal编程技术网

C# 对程序集签名后未找到WCF方法

C# 对程序集签名后未找到WCF方法,c#,.net,web-services,wcf,gac,C#,.net,Web Services,Wcf,Gac,我在解决方案中有3个项目,如下所示: WCF服务:承载两种方法 类库:通过返回WCF服务的Soap客户端实例,充当WCF服务的网关 WPF应用程序:通过引用的类库使用服务方法 一切都很正常……应用程序正在通过库访问soap客户端的实例,并相应地使用这些方法 现在我签署了我的程序集,所有的东西都在编译,当我在库中添加新方法并更新服务引用时,新方法会出现在应用程序中……但是当运行应用程序并尝试使用方法时,会引发MissingMethodException: 找不到方法: 'MusicData.E

我在解决方案中有3个项目,如下所示:

  • WCF服务:承载两种方法
  • 类库:通过返回WCF服务的Soap客户端实例,充当WCF服务的网关
  • WPF应用程序:通过引用的类库使用服务方法
一切都很正常……应用程序正在通过库访问soap客户端的实例,并相应地使用这些方法

现在我签署了我的程序集,所有的东西都在编译,当我在库中添加新方法并更新服务引用时,新方法会出现在应用程序中……但是当运行应用程序并尝试使用方法时,会引发
MissingMethodException

找不到方法: 'MusicData.Entities.User DBAccess\u Gateway.DBInteraction\u Service.DBInteractionGatewayClient.User\u Login(System.String, 系统。字符串“”

这是其失败之处:

 var user = WSGateway.MR_WebService.User_Login(username.Text, crypto.Encrypt(passphrase.Password));

我认为这与程序集(现在在gac中,因为它们被签名了?)被签名有关……但是为什么没有找到方法呢?现在是否未正确更新已签名的程序集?

更新类库中的服务引用时,请确保正在创建程序集的新版本并在GAC中注册此新版本,然后确保WPF应用程序正在引用此新版本