.NET Web服务无法生成临时类

时间:2013-03-20 11:44:25

标签: c# .net web-services wsdl

我正在尝试在我的.NET Web应用程序中实例化一个Web服务。但只要它碰到这一行:

registerService register = new registerService();

然后我收到以下错误:

  

无法生成临时类(result = 1)。错误CS0030:不能   将类型'Test.Website.ProxyTest.registerType []'转换为   'Test.Website.ProxyTest.registerType'

我没有写网络服务。但这是否意味着Web服务在某处出现错误(在XSD或其他什么地方)?

这是否意味着第三方开发人员需要修复此Web服务?

1 个答案:

答案 0 :(得分:8)

这似乎是一个已知问题,详情可以是found here

  

原因: .NET Framework中包含的WSDL.EXE的已知问题可以   如果一个复杂的数组导致代理类生成错误   type包含一个元素,它也是一个复杂类型的数组   只存在一个元素

  

目前没有可用的解决方案,但有三个   可用的解决方法:

     

使用WSDL.EXE手动生成代理类,然后修改   代理类,其中数据类型已被不适当地创建为   二维数组(例如'CustomType [] []')并将其更正为a   一维数组(例如'CustomType []')。修改数据类型   所需的WSDL,以便包含第二个可选元素   定义。这可以通过添加诸如的元素来完成   ''。修改所需WSDL中的复杂类型   边界属性是复杂类型的一部分而不是   元素(即将“minOccurs”和“maxOccurs”属性移动到   复杂类型并从元素中删除它们。

类似的stackoverflow question