Sto cercando di capire se è possibile, quando si utilizza uno strumento personalizzato in Visual Studio, per modificare il contenuto di un file, attivare lo strumento personalizzato di un altro.In Visual Studio, posso fare in modo che un file esegua lo strumento personalizzato di un altro? (in questo caso utilizzando Xsd2Code)
mio scenario è questo:
In un # progetto di Visual Studio C, ho uno schema XML "master.xsd", che comprende molti altri altri file XSD. Sto usando lo strumento personalizzato Visual Studio Xsd2Code per generare un file .cs dallo schema. Funziona bene quando lo stesso master.xsd cambia, ma vorrei che lo strumento personalizzato si avvii sul file master.xsd quando cambia uno degli altri xsds.
C'è un modo per un file che attiva lo strumento personalizzato di un altro?
[EDIT - maggiori dettagli sul motivo per cui sto cercando in utilizzando uno strumento personalizzato per questo]
Attualmente abbiamo un file GenerateFiles.bat che chiama Xsd2Code dalla riga di comando per generare i codici fiels dagli schemi (come suggerito da MattDavey in basso). Funziona, è troppo lento.
Il problema è che su ogni build Xsd2Code verrà eseguito, ma poiché molti altri progetti dipendono da questo progetto con gli schemi, verranno ricompilati anche se probabilmente nulla è cambiato. Il risultato pratico è che anche una piccola modifica al test di un'unità implica la metà della ricompilazione dei progetti. Questo è il motivo per cui abbiamo esaminato l'approccio dello strumento personalizzato per generare solo i file di codice se lo schema cambia.
Grazie per il suggerimento. Sfortunatamente, questo è il modo in cui lo facciamo al momento, ed è troppo lento.Il problema è che su ogni build Xsd2Code verrà eseguito, ma poiché molti altri progetti dipendono da questo progetto con gli schemi, verranno ricompilati tutti anche se probabilmente nulla è cambiato. Questo è il motivo per cui ho cercato l'approccio dello strumento personalizzato per generare solo i file di codice se lo schema cambia. In altri scenari però, penso che l'approccio che descrivi sia buono. –
ooh difficile. La prima cosa che viene in mente è saltare il passo xsd2code quando il file xsd è invariato. Ciò potrebbe comportare uno script batch pre-build leggermente più complesso, che probabilmente genera un hash del file xsd e lo confronta con un hash precedentemente memorizzato. Ma sto solo speculando ora :) – MattDavey
@RobLevine vedi edit – MattDavey