Почему я получаю эту ошибку в проекте WebServices? - PullRequest
1 голос
/ 08 января 2010

У меня есть приложение ClickOnce, которое обращается к множеству веб-сервисов. На клиенте у меня есть один проект, который охватывает все веб-сервисы.

В свойствах этого проекта, если Сборка / Генерация сериализации имеет значение Авто (по умолчанию), тогда все работает нормально. Я установил опцию на Вкл, она прекрасно компилируется, затем во время выполнения я получаю эту ошибку:

Line 786:    [WebMethod]
Line 787:    public CC.DTO.AdvertiserAssignmentRevenueDTO[] SearchAdvertiserAssignmentRevenue(byte[] AdvAssgnRevenueSearchFilter)
Line 788:    {
Line 789:        try

Подробный вывод компилятора в основном "CS0234: имя типа или пространства имен 'DTO' не существует в пространстве имен 'CC' (вам не хватает ссылки на сборку?)"

Почему это происходит? Просто к сведению, это проект .NET 2.0, запущенный в VS2008.

1 Ответ

2 голосов
/ 08 января 2010

У меня было очень похожее сообщение об ошибке с теми же симптомами. Для меня это будет работать локально, но не на другом сервере. Оказалось, что я пропустил декларацию контракта на данные по одному из моих методов.

[DataContract (Namespace = ...)]

Дважды проверьте ваши методы на службе и клиенте, чтобы убедиться, что они имеют все необходимые атрибуты и объявления.

...