VS2010忽略"添加服务引用"\"集合类型"=列表.仅为集合生成数组

Phi*_*nin 5 .net webservice-client visual-studio-2010

Web服务位于:http://api.bing.net/search.wsdl

在VS2010的项目中,我单击"添加服务引用".作为"集合类型",我指定" System.Collections.Generic.List "(或该列表中的任何其他内容,但不指定数组).单击确定 - 它将生成代码.

实际结果:

代码包含数组而不是列表:

[System.Xml.Serialization.XmlArrayAttribute(Order=10)]
public SourceType[] Sources {
    get {
        return this.sourcesField;
    }
    set {
        this.sourcesField = value;
        this.RaisePropertyChanged("Sources");
    }
}
Run Code Online (Sandbox Code Playgroud)

预期结果:

代码应包含所有集合的列表.

问题:

Web服务文件夹中生成的大量文件会影响实际的代码生成:Reference.svcmap,*.svcinfo,*.wsdl本身.

如何强制Wsdl2code生成器(使用上面提到的这些文件)生成此Web服务的列表?

Reference.svcmap包含使用列表的行,但它没有帮助:

<CollectionMappings>
  <CollectionMapping TypeName="System.Collections.Generic.List`1" Category="List" />
</CollectionMappings>
<GenerateSerializableTypes>true</GenerateSerializableTypes>
<Serializer>Auto</Serializer>
<UseSerializerForFaults>true</UseSerializerForFaults>
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
<ReferencedAssemblies />
<ReferencedDataContractTypes />
<ServiceContractMappings />
Run Code Online (Sandbox Code Playgroud)

这里也提出类似的问题- 但它的最佳答案对这种情况没有帮助.