我在Visual Studio中为我的项目执行文件系统发布时尝试运行PowerShell脚本,但实际运行发布时,管理单元似乎不起作用。
如果我在visual studio之外手动运行powershell脚本,则管理单元可以正常工作,但是当它通过发布执行时,它无法正常工作。
以下是.pubxml个人资料中的目标。
<Target Name="Test" AfterTargets="GatherAllFilesToPublish">
<Message Text="********************************** Test ***********************************" Importance="high" />
<Exec Command="powershell.exe -file "$(ProjectDir)\Properties\PublishProfiles\test.ps1" $(ProjectDir)"/>
</Target>
这是powershell脚本
Add-PSSnapin Microsoft.TeamFoundation.PowerShell
$changeset = Get-TfsItemHistory $filePath -Recurse -StopAfter 1 | Select -ExpandProperty ChangesetId
结果是
Add-PSSnapin : The Windows PowerShell snap-in 'Microsoft.TeamFoundation.PowerShell' is not installed on this computer.
如果Get-TfsItemHistory
命令存在替代方案,我也可以不使用管理单元。
答案 0 :(得分:0)
我自己没有这个管理单元的亲身经历,但至少有一些想法:
Add-PSSnapin
并查看是否可以重现错误Get-PSSnapin
来检查哪些管理单元可用。很可能它不存在,但您可以使用installutil.exe
命令添加它。