从WSDL生成的代理类具有CLS兼容错误

时间:2011-04-25 05:29:35

标签: c# .net wsdl cls-compliant

我尝试使用.net 2003从WSDL文件生成代理类。当我尝试将此类文件添加到.net 2003中的项目时,它在代理类中给出错误,如“标识符不在case CLS兼容代码“

可能导致这种情况的原因是什么?

  

标识符'FinancialTransactionCard.lifecycleStatus'仅在不符合CLS的情况下有所不同

[System.Xml.Serialization.XmlElementAttribute("lifecycleStatus")]
public FinancialTransactionCardLifecycleStatus[] lifecycleStatus;

1 个答案:

答案 0 :(得分:1)

事实上,很少需要CLS合规性。如果有这个警告/错误是一个show-stopper,那么现在关闭CLS

从我可以从错误中挑选出来(可能是翻译过的),听起来像是一场冲突;以下内容不符合CLS,例如:

public int a() {...}
public int A() {...}

因为不区分大小写的语言(VB.NET等)无法可靠地使用它。因此,请检查您的WSDL并生成代码,以查找仅根据大小写不同的任何内容。

但是,更好的方法是远离.NET 1.1;几乎所有措施都已过时的Visual Studio 2003 。后来的框架和工具修复了各种错误(包括安全问题)。