У прокси-класса, сгенерированного из WSDL, есть ошибка, соответствующая CLS - PullRequest
0 голосов
/ 25 апреля 2011

Я попытался сгенерировать прокси-класс из файла WSDL, заданного с использованием .net 2003. Когда я попытался добавить этот файл класса в свой проект, который находится в .net 2003, он выдал ошибку в прокси-классе, например "Идентификатор не находится в case CLS-совместимый код "

Что может быть причиной этого?

Идентификатор FinancialTransactionCard.lifecycleStatus отличается только в том случае, если он не соответствует CLS

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

1 Ответ

1 голос
/ 25 апреля 2011

Соответствие CLS, по правде говоря, редко требуется. Если наличие этого предупреждения / ошибки является остановкой показа, то пока отключите CLS .

Из того, что я могу выбрать из ошибки (предположительно переведенной), это звучит как конфликт в случае; следующее не соответствует CLS, например:

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

по той причине, что языки без учета регистра (VB.NET и т. Д.) Не могут использовать его надежно. Поэтому проверьте ваш WSDL и сгенерированный код на наличие всего, что отличается только регистром.

Однако лучший подход - это отойти от .NET 1.1; Visual Studio 2003 практически на любую меру устарел. Более поздние фреймворки и инструменты исправляют широкий спектр ошибок (включая проблемы безопасности).

...