使用platform:x64远程运行vstest.console.exe

时间:2015-10-23 15:05:57

标签: powershell

所以我正在尝试远程运行从一台机器到另一台机器的单元测试。通过powershell本地运行它正确运行并按预期运行,但是如果我尝试通过powershell远程运行命令它会给我以下错误:

Error: Failed to initialize client proxy: could not connect to test process .
+ CategoryInfo          : NotSpecified: (Error: Failed t... test process . 
[:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
+ PSComputerName        : SERVERNAME

Error: There was no endpoint listening at 
net.pipe://SERVERNAME/TestExecutor/7580 that could accept the message. 
This is often caused by an incorrect address or SOAP action. See 
InnerException, if present, for more details.

但是,如果我在没有platform参数的情况下运行相同的命令(我相信默认为x86),它在本地和远程都可以完全运行。

& "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" TESTS.dll /Logger:TeamCityTestLogger /Framework:framework45 /Platform:x64

我正在使用带有最新补丁的视觉工作室2013(我相信5)。

欢迎任何帮助,以了解为什么这不适用于平台参数。

感谢。

1 个答案:

答案 0 :(得分:0)

我面临着完全相同的问题。不幸的是,VSTEST进程不能远程运行,并且必须在x64环境上运行。 我使用过且对我有用的一种替代方法是使用远程计算机中的计划任务来运行VSTEST命令。 使用

在运行中创建计划任务
$action = New-ScheduledTaskAction -Execute 'Powershell.exe' `
            -Argument $arguments `
            -WorkingDirectory $workingDirectory 
$time = (get-date).AddSeconds(60).ToString("HH:mm:ss")
$trigger =  New-ScheduledTaskTrigger -Once -at $time
$settings = New-ScheduledTaskSettingsSet -MultipleInstances Parallel
Write-Host "Usernames"
Write-Host "$env:COMPUTERNAME\$env:USERNAME"
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "$branch-$repository" `
        -User "$env:COMPUTERNAME\$env:USERNAME" -Password '*******' `
        -Description "$repository" -settings  $settings -Force -RunLevel Highest