我们正在GitHub上开发针对以下框架的C#SDK:
<TargetFrameworks>net45;net451;net452;net46;net461;net462;net47;net471;net472;netstandard1.6;netstandard2.0</TargetFrameworks>
VS2017解决方案包含17个项目,其中11个是测试项目。我们有重复的测试项目,以确保我们可以同时测试.NET Framework项目和NetStandard。
由于我们添加了net471;472
AppVeyor不再能够成功运行测试,因此我不断收到以下信息:
Unable to acquire remote process agent
at NUnit.Engine.Runners.ProcessRunner.CreateAgentAndRunner()
at NUnit.Engine.Runners.ProcessRunner.RunTests(ITestEventListener listener, TestFilter filter)
这是AppVeyor配置文件https://github.com/RHEAGROUP/CDP4-SDK-Community-Edition/blob/master/appveyor.yml的链接,这里是AppVeyor项目本身https://ci.appveyor.com/project/samatrhea/cdp4-sdk-community-edition
我怀疑问题是由于net471;net472
造成的,但更多地归因于此解决方案中的项目数量。
一些有关如何配置传送带以使构建再次成功的帮助将不胜感激。在本地所有测试都通过了,我们没有相同的问题
预先感谢任何提示!
答案 0 :(得分:0)
经过一番谷歌搜索,我发现此错误发生在nunit
的不同情况下,并且通常是在测试数量变多的时候。我看到您尝试安装可以提供帮助的最新NUnit 3.8.0,但是您这样做的方式并没有影响要求测试的运行程序。请尝试将此install
部分添加到您的YAML中,看看是否有帮助。
install:
- ps: |
Write-Host "Installing NUnit 3.8.0..." -ForegroundColor Cyan -NoNewline
$toolsPath = "$env:SYSTEMDRIVE\Tools"
$nunitPath = "$env:SYSTEMDRIVE\Tools\NUnit3"
Remove-Item $nunitPath -Recurse -Force
$zipPath = "$($env:TEMP)\NUnit.Console-3.8.0.zip"
(New-Object Net.WebClient).DownloadFile('https://github.com/nunit/nunit-console/releases/download/3.8/NUnit.Console-3.8.0.zip', $zipPath)
7z x $zipPath -y -o"$nunitPath" | Out-Null
del $zipPath
$zipPath = "$($env:TEMP)\Appveyor.NUnit3Logger.zip"
(New-Object Net.WebClient).DownloadFile('https://www.appveyor.com/downloads/Appveyor.NUnit3Logger.zip', $zipPath)
7z x $zipPath -y -o"$nunitPath\addins" | Out-Null
Move-Item "$nunitPath\addins\appveyor.addins" "$nunitPath\appveyor.addins"
del $zipPath
Remove-Path "$nunitPath\bin"
Add-Path "$nunitPath"
Write-Host "NUnit 3.8.0 installed" -ForegroundColor Green