Visual Studio 2010: XML XSD-схема для классов в IDE - PullRequest
30 голосов
/ 03 февраля 2011

Всякий раз, когда мне нужно было создать файл класса из схемы XML XSD, я использую инструмент .NET xsd.exe и предварительно собираю события в VS, чтобы обеспечить синхронизацию моих классов и схем во время сборки , Это, конечно, прекрасно работает, однако ...

Я заметил, что если XSD и производный класс находятся в одном и том же проекте, VS понимает взаимосвязь и визуально отображает CS как дочерний элемент файла XSD в обозревателе решений. Поэтому мне было интересно, есть ли в Visual Studio 2010 какие-либо функции, позволяющие мне создавать классы в среде IDE, а не полагаться на сценарий предварительной сборки?

Например, я бы добавил XSD в проект, где-то установил несколько опций, и VS занял место и создал для меня мои классы.

VS 2010 поддерживает что-нибудь подобное? Или я просто перестану интересоваться и продолжу использовать xsd.exe и prebuild.

EDIT Я также заметил, что в свойствах файла XSD у меня есть возможность установить Custom Tool, читая описание, это похоже на то, к чему я стремлюсь, но я не уверен в правильном использовании этого свойства.

EDIT Кроме того, если есть решение, мне нужно, чтобы оно основывалось на функциях / функциях, которые входят в стандартную комплектацию VS2010. Я бы предпочел не использовать сторонние дополнения и т. Д.

Ответы [ 3 ]

57 голосов
/ 25 марта 2013

Вы можете использовать XSD.exe, который находится в C:\program files\Microsoft\SDKs\Windows\v7.0A\Bin\xsd.exe.выполните шаги, чтобы добавить XSD в качестве пункта меню в меню инструментов VS

  1. Добавить файл XSD в ваш проект VS
  2. Перейти в меню инструментов Visual Studio
  3. Перейти квнешние инструменты
  4. Добавить
  5. Введите заголовок как команду XSD
  6. в качестве пути к xsd в вашей системе (обычно C:\program files\Microsoft SDKs\Windows\v7.0A\Bin\xsd.exe.)
  7. Аргументы как$(ItemPath) /c /l:cs
  8. начальный каталог как $(ItemDir)
  9. проверьте окно «Использовать вывод» и нажмите ОК

Затем щелкните Xsd-файлы в обозревателе решений и затемtools - Xsd click, это создаст класс в той же папке, что и файл .XSD.Если вы уже не добавляли файл на шаге 1, вам нужно будет добавить получившийся файл .cs в проект, щелкнув правой кнопкой мыши проект в обозревателе решений, выберите «Добавить» -> «Существующий элемент», а затем файл .CS.сгенерированный из .XSD должен присутствовать и может быть включен.

13 голосов
/ 03 февраля 2011

Visual Studio 2010 сам по себе не содержит таких функций для общего потребления.

Visual Studio имеет ограниченную поддержку для этого преобразования XSD в код в контексте наборов типизированных данных в ADO.NET, ноэто не универсальные решения, они нацелены именно на один сценарий использования.

Но действительно проверьте надстройку XSD2Code , которая делает именно это

enter image description here

3 голосов
/ 15 ноября 2011

Раньше для этого были средства в Visual Studio.Вы можете щелкнуть правой кнопкой мыши на XML-схеме, и в контекстном меню был выбор, который сказал что-то вроде «создать набор данных».Я использовал его часто, и он работал отлично.По какой-то таинственной причине Microsoft удалила эту функцию - возможно, после VS 2003?Я не уверен, почему можно использовать утилиту командной строки и что нельзя выполнять тот же код из меню, но это так.

...