Не удается сгенерировать диаграмму классов из проекта, ссылающегося на веб-службу в Visual Studio 2008 - PullRequest
3 голосов
/ 21 июля 2010

У меня есть вопрос, касающийся генерации классов в Visual Studio 2008.

Я использую веб-сервис, который добавляется с помощью Добавить веб-ссылку.Это прекрасно работает, и все классы, кажется, были созданы успешно.Когда я пытаюсь сгенерировать диаграмму классов, используя View Class Diagram для проекта, который использует веб-сервис, я получаю:

Некоторые из выбранных типов не могут быть добавлены к диаграмме классов.Проверьте код на наличие ошибок и убедитесь, что на все необходимые сборки есть ссылки

Я выполнил оба эти предложения, и в проекте нет ошибок или предупреждений.Я не получаю ошибки для других проектов в том же решении, которые не используют какой-либо веб-сервис.

Веб-сервис http://foo.bar.com/wsdl/ в немного анонимной форме (хотя он все еще имеет ту же структуру, я простоизменил некоторые имена) можно найти здесь, если это важно для ответа: http://pastebin.com/rd7W9BA6

Добавить

  1. В качестве примера, если я дважды щелкните левой кнопкой мышив классе Age внутри папки WebService (в дереве) в представлении классов я вижу публичный частичный класс Age в файле Reference.cs.
  2. Я также вижу вышеупомянутый класс Age в обозревателе объектов.

Похоже, у меня есть вся необходимая информация для построения диаграммы классов.Но когда я щелкаю правой кнопкой мыши по указанному классу и выбираю View Class Diagram, я получаю сообщение об ошибке, приведенное выше.

Если я щелкаю правой кнопкой мыши по любому другому классу, которого нет в папке WebService, и выбираю View Class Diagram, я получаючтобы увидеть диаграмму для выбранного класса.Поэтому он должен иметь какое-то отношение к тому, что он генерируется из WSDL-файла.

1 Ответ

0 голосов
/ 21 июля 2010

Щелкните правой кнопкой мыши проект и выберите «Добавить существующий элемент».Добавьте в проект файл Reference.cs .

Теперь View Class Diagram для всего проекта работает так, как файл Reference.cs может быть доступен для генератора диаграмм классов.

Недостатком является то, что у вас есть сгенерированный файл как часть вашего проекта.И что это не будет обновляться , поскольку оно копируется при добавлении.Таким образом, это решение действительно должно использоваться только тогда, когда нужна диаграмма классов, а затем добавленный (скопированный) файл Reference.cs должен быть удален, так как вы вступите в конфликт, если вы этого не сделаете.Когда вы его удаляете, эти классы помечаются как недоступные на диаграмме классов.Поэтому сначала экспортируйте его как изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...