2009-05-25 15 views
27

¿Hay alguna forma de controlar el nombre de archivo de salida de xsd.exe?nombre de archivo de salida xsd.exe

Mi problema específico es que si se hace referencia a un xsd importado, esto se agrega al nombre del archivo.

Respuesta

33

This link sugiere otra alternativa ... usando un personaje ruta en la especificación de los esquemas de entrada deja el nombre del archivo generado. Entonces, si usa lo siguiente, podrá controlar su nombre de archivo de salida.

xsd.exe schema1.xsd schema2.xsd .\schema3.xsd 

Obliga xsd.exe para generar el archivo schema3.cs.

Nota: Es un truco, pero hasta ahora (VS 2010) funciona.

+3

+1, ¡Exactamente lo que necesitaba! (funciona incluso cuando los esquemas se especifican en el archivo de parámetros) – Regent

+1

Tenga en cuenta que el ". \" debe usarse en el último archivo. Si es necesario, vuelva a ordenar los nombres de los archivos de entrada en el comando. – Marcel

+0

¡Simplemente hermoso! – pvieira

6

Actualización: Consulte la respuesta de @ Obalix.

No. Sólo la carpeta de salida:

/o[ut]:directoryName 

De here.

11

xsd.exe elegirá automáticamente el nombre de salida del archivo según el nombre del archivo de entrada. Solo puede elegir a qué directorio se lo enviará con el modificador/o.

Dicho esto, es trivial para envolver esto en un trabajo por lotes, que haría lo que quiera.

rename output.cs yourname.cs 
8

Para agregar a la respuesta de AxelEckenberger hay una mejora muy leve en el truco si lo haces regularmente (es decir, en un script por lotes). Crear un archivo de esquema vacía con el nombre de salida que desea utilizar

Output.xsd

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" /> 

Entonces no es necesario cambiar el nombre de la salida

xsd.exe schema1.xsd schema2.xsd schema3.xsd .\Output.xsd 

Ahora el archivo de salida ser nombrado Output.cs.

Cuestiones relacionadas