WSDL ReportExecution代理文件由于歧义错误而无法编译
本文关键字:错误 编译 歧义 代理 ReportExecution 文件 于歧义 WSDL | 更新日期: 2023-09-27 18:12:50
我在程序中使用ReportExecution代理类。当我尝试编译它时,我在生成的文件中得到58个歧义错误。以下是示例错误输出:
Error 1 The namespace '<global namespace>' already contains a definition for 'LogonUserCompletedEventHandler'
Error 2 The namespace '<global namespace>' already contains a definition for 'LogoffCompletedEventHandler'
Error 4 Ambiguity between 'ServerInfoHeader.reportServerVersionNumberField' and 'ServerInfoHeader.reportServerVersionNumberField'
Error 5 Ambiguity between 'ServerInfoHeader.reportServerEditionField' and 'ServerInfoHeader.reportServerEditionField'
Error 6 Ambiguity between 'ServerInfoHeader.reportServerEditionField' and 'ServerInfoHeader.reportServerEditionField'
我应该改变自动生成的文件来解决这个问题吗?或者错误在别的地方?
提前感谢。
编辑:我已经处理了大多数歧义错误,它们是因为我不必要地添加了web引用,而不是只使用代理类。但是,现在我仍然得到2个错误:
Error 1 The namespace '<global namespace>' already contains a definition for 'LogonUserCompletedEventHandler'
Error 2 The namespace '<global namespace>' already contains a definition for 'LogoffCompletedEventHandler'
我也收到了相同的'<global namespace>'
错误,因为我在visual studio项目中包含了由WSDL .exe生成的代理代码,但也在项目的目录结构中留下了实际的源WSDL文件。
ASP。NET似乎在加载该WSDL文件时将其自动编译为站点的代理代码的另一个副本。
这不会在VS中给出编译时错误,但会导致网站失败,出现问题中描述的错误1和2。
从目录结构中删除WSDL文件可以纠正问题。
嗯,如果您使用多个名称空间,那么wsdl代理似乎必须使用不同的名称空间生成。