我试图让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