2009-09-01 6 views
32

Per le applicazioni C# normali (ad esempio Windows Form), per eseguire comandi dopo una build corretta, utilizzare la riga di comando Eventi di creazione-> Post-build in Proprietà progetto.Post Publish Events

Ho un progetto di sito Web che "Pubblica", utilizzando il comando "Pubblica ..." nel menu di scelta rapida di Solution Explorer.

C'è un modo per eseguire i comandi dopo la pubblicazione corretta e, in caso affermativo, come è fatto? (ad esempio un campo riga di comando post-pubblicazione)

Visual Studio 2008, progetto sito Web ASP .Net, C#.

risposta

24

Aggiornamento: Poiché Publish Web non si applica ai progetti di siti Web basati su cartelle, questa risposta presuppone che si stia chiedendo di un progetto di applicazione Web.

Non è possibile eseguire questa operazione dall'interno dell'IDE. Tuttavia, puoi modificare il file di progetto in Blocco note o il tuo editor XML preferito e aggiungere un nuovo target alla fine del file chiamato AfterPublish.

Si potrebbe voler leggere un po 'di più su MSBuild se non si è sicuri di cosa si possa fare in questo target.

È possibile trovare ulteriori dettagli sull'estensione del processo di compilazione in VS su MSDN - HowTo: Extend the Visual Studio Build Process.

+0

Grazie, ho temuto che non sarebbe stato possibile all'interno dell'IDE. Questa è una soluzione eccellente in quanto il nostro CI utilizza gli script di msbuild. Speravo che potessimo farlo anche all'interno di Visual Studio. Quello che potrei fare è creare un nuovo script msbuild, quindi creare un comando "Strumenti esterni" per eseguire quello script di compilazione invece di fare uno studio visivo "pubblica". Preferirei non modificare il file proj se possibile. Grazie per il vostro aiuto e una rapida risposta! – Russell

+0

Ho votato la risposta perché non capisco come questa possa essere una risposta accettata. Un sito Web non ha un file di progetto. Per favore aiutami e altri a capire chiarendo la risposta o fornendo un commento sul perché questa risposta è stata accettata. – AMissico

+0

È solo una terminologia mista. Hai ragione - i progetti di siti Web basati su cartelle non hanno un file di progetto. Tuttavia, non esiste alcun comando di pubblicazione per tale progetto. I progetti di applicazioni Web invece hanno un file di progetto e il comando Pubblica Web si applica a loro. La mia ipotesi era che la domanda si riferisca a un'app Web rispetto a un sito web. Poiché la mia risposta è stata accettata, mi azzarderei ad indovinare che la mia ipotesi era corretta. Ciò non mi esime dall'usare la terminologia giusta, ovviamente. –