2009-05-25 8 views
27

C'è un modo per controllare il nome del file di output da xsd.exe?xsd.exe nome del file di output

mio problema specifico è che se un XSD importata si fa riferimento questo si aggiunge al nome del file.

risposta

33

This link suggerisce un'altra alternativa ... utilizzando un carattere percorso nello specificare schemi ingresso ripristina il nome file generato. Quindi, se si utilizza quanto segue, sarà possibile controllare il nome del file di output.

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

Sarà forzare xsd.exe per generare il file schema3.cs.

Nota: È un hack ma fino ad ora (VS 2010) funziona.

+3

+1, esattamente quello di cui avevo bisogno! (funziona anche quando gli schemi sono specificati nel file dei parametri) – Regent

+1

Ricordare che il ". \" deve essere utilizzato sull'ultimo file. Se necessario, riordina i nomi dei file di input nel comando. – Marcel

+0

Semplicemente meraviglioso! – pvieira

6

Aggiornamento: Si prega di vedere @ risposta di Obalix.

No. Solo la cartella di output:

/o[ut]:directoryName 

Da here.

11

xsd.exe sceglierà automaticamente il nome del file di output in base al nome del file di input. È possibile scegliere solo la directory in cui eseguire l'output con l'opzione/o.

Detto questo, è banale per avvolgere questo in un processo batch, che avrebbe fatto ciò che si desidera.

rename output.cs yourname.cs 
8

Per aggiungere alla risposta di AxelEckenberger c'è un lievissimo miglioramento rispetto al trucco, se si sta facendo questo regolarmente (vale a dire in uno script batch). Creare un file di schema vuoto con il nome di output che si desidera utilizzare

Output.xsd

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

Quindi non è necessario rinominare l'uscita

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

Ora il file di output si chiama Output.cs.

Problemi correlati