Entrambe le impostazioni del progetto mi consentono di eseguire comandi personalizzati. Quali sono i vantaggi o gli svantaggi di ciascuno?Qual è la differenza tra un passaggio di build personalizzato e un evento post-build?
risposta
Grande differenza. Una fase di creazione personalizzata consente di specificare dipendenze e output. Che consente al sistema di build di determinare quando per eseguire il passaggio e saltarlo quando l'output è già aggiornato. Un evento post-build è sempre eseguito quando il progetto richiede la costruzione e la sua tempistica è fissa.
sembra che la risposta di @Hans sia cambiata, la differenza principale è che se non è necessario creare file, non si verificheranno eventi di build.
dalla documentazione MSDN:
eventi di generazione e di generazione personalizzata passi eseguiti nel seguente ordine insieme ad altre fasi di compilazione:
Pre-Build event
Custom build tools on individual files
MIDL
Resource compiler
The C/C++ compiler
Pre-Link event
Linker or Librarian (as appropriate)
Manifest Tool
BSCMake
Custom build step on the project
Post-Build event
Il passo di generazione personalizzata sul progetto e un post -build: l'evento viene eseguito in sequenza dopo la fine di tutti gli altri processi di generazione.
Gli eventi di compilazione vengono eseguiti solo se la build raggiunge con successo quei punti nel processo di creazione. Se si verifica un errore nel build, l'evento post-build non si verificherà; se l'errore si verifica prima della fase di collegamento, non si verificherà né l'evento pre-collegamento né l'evento post-compilazione. Inoltre, se non è necessario collegare alcun file, l'evento di pre-collegamento non si verificherà. L'evento pre-link non è disponibile anche in progetti che non contengono una fase di collegamento. Se non è necessario creare file, non si verificheranno eventi di build.
Dalla all'interno dell'ambiente di sviluppo Visual Studio C++, ci sono tre modi di base per personalizzare il processo di compilazione:
generazione personalizzata Passi Un passaggio di generazione personalizzata è una regola di build associato a un progetto. Un passo di compilazione personalizzato può specificare una riga di comando da eseguire, qualsiasi file di input o di output aggiuntivo e un messaggio da visualizzare. Per ulteriori informazioni, vedere Procedura: aggiungere un passaggio di generazione personalizzato ai progetti MSBuild.
Strumenti di creazione personalizzati Uno strumento di creazione personalizzato è una regola di creazione associata a uno o più file. Una fase di creazione personalizzata può passare i file di input a uno strumento di creazione personalizzato, il che si traduce in uno o più file di output. Ad esempio, i file della guida in un'applicazione MFC sono creati con uno strumento di creazione personalizzato. Per ulteriori informazioni, vedere Procedura: aggiungere strumenti di compilazione personalizzati ai progetti di MSBuild e specificare strumenti di compilazione personalizzati. Crea eventi
Crea eventi consente di personalizzare la creazione di un progetto. Esistono tre eventi di build: pre-build, pre-link e post-build. Un evento di build consente di specificare un'azione da eseguire in un momento specifico nel processo di generazione. Ad esempio, è possibile utilizzare un evento build per registrare un file con regsvr32.exe al termine della costruzione del progetto. Per ulteriori informazioni, vedere Specifica degli eventi di compilazione.
- 1. Qual è la differenza tra build e deploy?
- 2. Qual è la differenza tra un pacchetto e un intento?
- 3. Qual è la differenza tra un algoritmo e un metodo
- 4. Qual è la differenza tra un "nonce" e un "GUID"?
- 5. Qual è la differenza tra un controller e un servizio?
- 6. Qual è la differenza tra un helper e un parziale?
- 7. Qual è la differenza tra un JavaBean e un POJO?
- 8. Qual è la differenza tra un array e un oggetto?
- 9. Qual è la differenza tra un vettore e un vertice?
- 10. Qual è la differenza tra un dizionario e un array?
- 11. Qual è la differenza tra un RoutedCommand e un RoutedUICommand?
- 12. Qual è la differenza tra un modello e un percorso?
- 13. Qual è la differenza tra un tema e un modello?
- 14. Qual è la differenza tra un REPL e un interprete?
- 15. Qual è la differenza tra un nodo e un vertice?
- 16. Qual è la differenza tra un tipo di delegato e un tipo di gestore di eventi?
- 17. Qual è la differenza tra nohup e un demone?
- 18. qual è la differenza tra @ e @@ in un modulo?
- 19. Qual è la differenza tra un riferimento __weak e __block?
- 20. Qual è la differenza tra il panico e un assert?
- 21. Qual è la differenza tra una discussione e un gestore
- 22. qual è la differenza tra uno streamwriter e un binarywriter?
- 23. Qual è la differenza tra un pacchetto dll e nuget?
- 24. Qual è la differenza tra una chiave e un KeySpec?
- 25. Qual è la differenza tra una chiusura e un modulo?
- 26. Qual è la differenza tra% e %% in un file cmd?
- 27. Qual è la differenza tra "evento DOMContent" e "evento di caricamento"
- 28. Qual è la differenza tra Invocare e BeginInvocare un MessageBox?
- 29. Qual è la differenza tra un algoritmo e una funzione?
- 30. Qual è la differenza tra un Hashtable e le Proprietà?
re: ** Un evento post-build viene sempre eseguito ** >>
Pressacco