Voglio sapere come pubblicare da PowerShell nello stesso modo in cui posso da Visual Studio.Come eseguire esattamente la stessa funzionalità di Pubblica all'interno di Visual Studio da PowerShell
Quando si avvia Visual Studio con il progetto MVC ad esempio; quindi fare clic con il tasto destro del mouse sul progetto e selezionare "Pubblica"; viene visualizzata una finestra di dialogo che compila alcune impostazioni nel clic di nuovo Pubblica. Spinge magicamente il tuo sito web come previsto. Crea anche un file per mantenere quelle impostazioni. projectName.Publish.xml.
Quel file è la ragione per cui voglio poterlo usare esattamente nello stesso modo. Ci sono un paio di impostazioni che potrebbero essere manipolate in PowerShell per spingere l'applicazione a più siti con configurazioni diverse.
Ho guardato "target msbuild: pubblicare", che produce solo (eseguito dalla directory che contiene il .csproj):
MSBUILD : error MSB1009: Project file does not exist.
Switch: target:publish
ho provato "target msbuild Projectfile: pubblicare" che produce:
MSBUILD : error MSB1008: Only one project can be specified.
Switch: target:build
Ho anche preso in considerazione diverse varianti di msdeploy. Non può essere così difficile !? Se è possibile fare clic con il tasto destro in studio, c'è qualcosa che svolge tale compito.
Sto iniziando a chiedermi se questo richiede una luna piena e tagliando la testa a un pollo. (Ho speso troppo tempo su questo!)
** EDIT: Ho provato il suggerimento di Lee:
msbuild target:publish Mvc.csproj
che produce questo errore:
MSBUILD : error MSB1008: Only one project can be specified.
Switch: Mvc.csproj
For switch syntax, type "MSBuild /help"
** EDIT: Da Davee di suggerimento, ho provato:
msbuild target:publish Mvc.csproj
che produce questo errore:
0.123.516,41 milaMSBUILD : error MSB1009: Project file does not exist.
Switch: target:publish=PassportHealth.PatientSimple.Mvc.csproj
Ho anche tornato alla documentazione per il target "Pubblica" (http://msdn.microsoft.com/en-us/library/ms165431.aspx), che sembra abbastanza chiaro che la sintassi è:
msbuild target:publish
Così, dopo aver riletto più volte la mia conclusione è questa: la pubblicazione il target è per le distribuzioni con un solo clic di file .exe e non per i siti Web MVC. Ho trovato http://weblogs.asp.net/scottgu/archive/2010/09/13/automating-deployment-with-microsoft-web-deploy.aspx che parla abbastanza chiaramente di questa faccenda. Tuttavia, non vedo come utilizzare il file "publish.xml" tramite il comando msdeploy.
opzioni della riga di comando in msbuild sono specificati utilizzando/opt: valore in modo da chiamare il pubblicare bersaglio si dovrebbe usare 'msbuild/t: Pubblica proj_file.csproj'. – Lee
Ecco un collegamento alla panoramica MSDNU MSDN (VS2008): http://msdn.microsoft.com/en-us/library/ms171452.aspx – DaveE