我有一個類似的情況。我有一個叫做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