Могу ли я заставить один файл запускать специальный инструмент другого в Visual Studio? (в данном случае с использованием Xsd2Code)

Я пытаюсь выяснить, возможно ли при использовании пользовательского инструмента в Visual Studio изменить содержимое одного файла, запустить пользовательский инструмент другого .

Мой сценарий таков:

В проекте Visual Studio C # у меня есть XML-схема master.xsd, которая включает несколько других файлов xsd. Я использую пользовательский инструмент Visual Studio Xsd2Code для создания файла .cs из схемы. Это отлично работает, когда изменяется сам master.xsd, но я хотел бы, чтобы пользовательский инструмент запускался с файлом master.xsd при изменении одного из других xsds.

Есть ли способ, чтобы один файл запускал пользовательский инструмент другого?

[РЕДАКТИРОВАТЬ - подробнее о том, почему я ищу для этого специальный инструмент]

В настоящее время у нас есть файл GenerateFiles.bat, который вызывает Xsd2Code из командной строки для генерации полей кода из схемы (как предлагает Мэтт Дэйви ниже). Это работает, просто слишком медленно.

Проблема в том, что при каждой сборке Xsd2Code будет запускаться, но поскольку многие другие проекты зависят от этого проекта со схемами, все они тоже будут перекомпилированы, хотя, вероятно, ничего не изменилось. Практический результат состоит в том, что даже незначительное изменение модульного теста требует перекомпиляции половины проекта.Вот почему мы рассматривали подход с использованием настраиваемого инструмента, чтобы генерировать файлы кода только в случае изменения схемы.

7
задан Rob Levine 17 February 2012 в 10:18
поделиться