我有一个类似的情况。我有一个叫做Web服务的类库,然后我有一个叫做类库的.DLL的.EXE。我认为这是使用.EXE的配置文件,而不是.DLL配置文件。
但正如理查德上面所说,我不得不完全限定命名空间。这有点痛苦。 以下正是我所改变的。令人痛苦的是,我必须在两个地方对其进行更改, 一个在您创建服务引用时生成的reference.cs中,另一个在配置文件中。因此,每次我更改Web服务并执行“更新参考”时,我必须再次对C#代码进行更改。
1)您必须真正改变ConfigurationName在reference.cs如下:
来源:[System.ServiceModel.ServiceContractAttribute(Namespace = "http://TFBIC.RCT.BizTalk.Orchestrations", ConfigurationName = " RCTWebService.WcfService_TFBIC_RCT_BizTalk_Orchestrations")]
为:[System.ServiceModel.ServiceContractAttribute(Namespace = "http://TFBIC.RCT.BizTalk.Orchestrations", ConfigurationName = "TFBIC.RCT.HIP.Components.RCTWebService.WcfService_TFBIC_RCT_BizTalk_Orchestrations")]
2),然后又改变了“合同”值所有相关的app.config(对于.dll和。exe文件的)如下:
来源:
<端点地址= http://nxwtest08bt1.dev.txfb-ins.com/TFBIC.RCT.BizTalk.Orchestrations/WcfService_TFBIC_RCT_BizTalk_Orchestrations.svc 绑定= “的wsHttpBinding” bindingConfiguration = “WSHttpBinding_ITwoWayAsync” 合同= “RCTWebService.WcfService_TFBIC_RCT_BizTalk_Orchestrations” NAME = “WSHttpBinding_ITwoWayAsync” >
收件人:
<终点地址= http://nxwtest08bt1.dev.txfb-ins.com/TFBIC.RCT.BizTalk.Orchestrations/WcfService_TFBIC_RCT_BizTalk_Orchestrations.svc 绑定= “的wsHttpBinding” bindingConfiguration = “WSHttpBinding_ITwoWayAsync” 合同= “TFBIC.RCT.HIP.Components.RCTWebService.WcfService_TFBIC_RCT_BizTalk_Orchestrations” NAME = “WSHttpBinding_ITwoWayAsync” >
只是要清楚 - 我怎么知道什么是完整的命名空间是? 程序的名字空间是TFBIC.RCT.HIP。里面的是,C#代码有一个额外的 命名空间声明:
namespace RCTHipComponents
哪里是你的app.config? – iamserious 2011-08-15 10:11:10