Integrazione continua
Ho lavorato a uno script PowerShell per mantenere il nostro processo di sviluppo ottimizzato. Avevo intenzione di eseguirlo come evento post-build, ma ho qualche problema.Script PowerShell in PostBuild
Dalle PowerShell prompt, il seguente funziona a meraviglia:
PS C:\> ./example.ps1
Tuttavia, quando si tenta di eseguire questo da cmd.exe
come segue:
C:\> powershell -command "&\"C:\path to script\example.ps1\""
lo script viene eseguito, ma ho un giro di errori indietro da PowerShell, composta prevalentemente da errori di risoluzione percorso dalla funzione resolve-path
:
Resolve-Path: impossibile trovare il percorso 'C: \ Documents and Settings \ bdunbar \ Documenti \ Visual Studio 2008 \ Projects \ CgmFamilyComm \ FamilyComm \ iirf \ cms \ isapirewrite4.dl l' perché non esiste. in C: \ Documents and Settings \ bdunbar \ Documenti \ Visual Studio 2008 \ Projects \ C gmFamilyComm \ scripts \ cms.ps1: 4 char: 27 + $ iirfpath = (volontà-path < < < < ../ IIRF/cms/isapirewrite4.dll) .path,
Resolve-Path: Impossibile trovare il percorso 'C: \ Documents and Settings \ bdunbar \ Documenti \ Visual Studio 2008 \ Projects \ CgmFamilyComm \ familyComm \ familycomm' perché do es non esiste. in C: \ Documents and Settings \ bdunbar \ Documenti \ Visual Studio 2008 \ Projects \ C gmFamilyComm \ scripts \ cms.ps1: 5 char: 27 + $ vdirpath = (volontà-path < < < < ../ familycomm) .path
C'è un modo per aggirare questo problema? Potrebbe essere un problema con l'esecuzione di resolve-path
in cmd.exe
?
[Update]
Sono stato in grado di cambiare le cose per aggirare gli errori che si verificano, ma io continuo a ricevere gli errori che funzionano perfettamente bene dal prompt dei comandi PowerShell. Non riesco a capire qual è la differenza.
Cosa ha detto Jason. La differenza probabilmente ha a che fare con la linea del percorso di risoluzione. In caso di dubbi, prova a fare in modo che lo script funzioni senza utilizzare il percorso di risoluzione. –