我在我的程序中使用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'
答案 0 :(得分:1)
我也收到了同样的'<global namespace>'
错误,因为我在visual studio项目中包含了wsdl.exe生成的代理代码,但是还将实际的源WSDL文件留在了项目的目录结构中。
ASP.NET似乎将此WSDL文件自动编译为加载时网站的另一个代理代码副本。
这不会在VS中产生编译时错误,但会导致站点失败,并在问题中描述错误1和2。
从目录结构中删除WSDL文件可以解决问题。
答案 1 :(得分:0)
好吧,如果您使用多个名称空间,似乎必须使用不同的名称空间生成wsdl代理。添加/命名空间参数解决了这个问题。