Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Easiest/shortest command to run a PowerShell script as a build event in Visual Studio

Just getting started with PowerShell. I was running DOS .bat files in my post build events in VS and wanted to graduate up to PowerShell. Bat files were easy...CALL something.bat. I tried to do that with a PowerShell ps1 file and my trial-and-erroring got me to the following (first thing that worked...tried all the simple things first, obviously):

powershell -command "& {(powershell '$(ProjectDir)test.ps1')}"

Is there a shorthand version of this? I think the only thing that really bothers me is the redundant calls to the powershell executable, but that's probably only required because .ps1 files open in notepad by default on my machine (and I should keep the redundancy for deployment on other systems so I'm not reliant on the default program for a file type). Anyway, if there's unnecessary redundancy here, I'd love to know.

I'm very new to PowerShell, so any related insight is always appreciated.

like image 930
Rich Avatar asked Dec 30 '09 16:12

Rich


3 Answers

I've used PowerShell as a post-build event in the past; now I lean towards using psake (super simple build system) or just running a raw PowerShell script. Post-build events get messy, are inflexible, and have few advantages over doing the same thing in a build script.

EDIT: If you are still interested in using a post-build script, I've answered the question before here

like image 164
Peter Seale Avatar answered Oct 04 '22 11:10

Peter Seale


According to the MSN, this should work nice:

powershell.exe "$(ProjectDir)test.ps1"

Edit: Found this

powershell.exe "& ""$(ProjectDir)test.ps1"""
like image 20
Bobby Avatar answered Oct 04 '22 12:10

Bobby


I didn't check any MSDN, it simply works:

powershell $(ProjectDir)test.ps1

Btw. don't forget to set run privileges for BOTH versions of PowerShell -- 32-bit and 64-bit.

like image 27
greenoldman Avatar answered Oct 04 '22 13:10

greenoldman