我試圖讓PowerShell來運行我的PS腳本後建 - 但不知何故,它不工作像它應該是:呼叫PowerShell腳本後建有參數
下面的命令在生成後:
C:\WINDOWS\system32\windowspowershell\1.0\powershell.exe
-Command "& $(MSBuildProjectDirectory)\CreateSite.ps1 'auto'"
(爲便於閱讀插入換行符)
命令成功地執行PowerShell腳本,但它不能做的就是運行(輸出版本)中的命令: Rund Post-Build命令:
Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 2
At C:\path\CreateSite.ps1:4 char:
38
+ Add-PsSnapin <<<< Microsoft.SharePoint.PowerShell}
+ CategoryInfo : InvalidArgument: (Microsoft.SharePoint.PowerShell:String) [Add-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
而後面是很多錯誤,因爲所有後續命令都需要Sharepoint管理單元。
- 從cmd運行powershell C:\ path \ CreateSite.ps1 auto - 一切正常。
- 當打開powershell.exe並運行C:\ path \ CreateSite.ps1自動 - 一切正常。
- 右鍵單擊CreateSite.ps1 - >使用powershell運行 - 一切正常。
腳本中的相關行僅僅是Add-PsSnapin Microsoft.SharePoint.PowerShell
。
我怎樣才能運行darn腳本(並讓它包括PSSnapIn)在Visual Studio後構建中傳遞參數?
是的,在SharePoint管理單元是64位。 +1 – x0n 2011-02-15 20:51:06
他正在運行64位PowerShell(這將成爲64位操作系統的默認設置)。 – JasonMArcher 2011-02-15 21:06:17
我已閱讀有關64位/ 32位爭議,這就是爲什麼我使用直接路徑C:\ windows \ system32 \ ...到64位版本powershell而不是SysWOW64路徑導致32位PowerShell。這與「任何CPU」而不是x64的項目建築有什麼關係? – 2011-02-15 21:28:50