У меня возникла проблема с генерацией кода с использованием xsd.exe (тот, который поставляется с .NET SDK), а также с Xsd2Code (http://xsd2code.codeplex.com/).Генерация кода XSD (C#) с xsd: включает
У меня есть следующие настройки из XSD файлов:
- Common.xsd
- Summary.xsd
- Detail.xsd
Common определяет некоторые типы, которые используются в обоих Резюме и детали и, следовательно, как сводка, так и деталь включают строку <xs:include schemaLocation="Common.xsd" />
.
Теперь проблема со всеми инструментами генерации кода XSD, которые я пробовал, заключается в том, что они принимают только файл XSD с типом верхнего уровня (так что сводка/подробности) и создают классы в пространстве имен ONE.
Проблема в том, что если я использую эти инструменты, я получаю 2 точных копии каждого типа в Common.xsd (Namespace.Summary.CommonType и Namespace.Detail.CommonType). Когда я хочу использовать их в коде, мне всегда приходится конвертировать между ними (в основном просто копировать все значения), и это довольно неприятно и приводит к довольно большому количеству накладных расходов и путанице.
Есть ли какой-нибудь инструмент генерации кода XSD, который обрабатывает лучше (т. Е. Помещает включенные типы в собственное пространство имен и только генерирует их один раз)?
Это было бы здорово, но коммутатор не работает вообще (хотя я добавил его, все же все включенные типы сгенерированы). – chrischu
@chrischu - ваши xsd-файлы включены или импортированы? Существует тонкая разница, которая может вызывать xsd2code off ... – MattDavey
Они включены (как показано в исходном вопросе). – chrischu