.net core Azure管道错误:vstest.console进程无法连接到testhost进程

.net core Azure管道错误:vstest.console进程无法连接到testhost进程,.net-core,yaml,azure-pipelines,vs-unit-testing-framework,azure-pipelines-yaml,.net Core,Yaml,Azure Pipelines,Vs Unit Testing Framework,Azure Pipelines Yaml,我正在将azure管道转换为YAML管道。当我触发构建时,它在单元测试步骤中失败,并给出如下错误 [错误]vstest.console进程在90秒后未能连接到testhost进程。这可能是由于计算机运行缓慢造成的,请设置环境变量VSTEST\u CONNECTION\u TIMEOUT以增加超时。 我找不到在任何地方添加VSTEST\u CONNECTION\u超时值的方法。你能帮我做这个吗 这是我正在使用的示例 - task: VSTest@2 displayName: 'T

我正在将azure管道转换为YAML管道。当我触发构建时,它在单元测试步骤中失败,并给出如下错误

[错误]vstest.console进程在90秒后未能连接到testhost进程。这可能是由于计算机运行缓慢造成的,请设置环境变量VSTEST\u CONNECTION\u TIMEOUT以增加超时。

我找不到在任何地方添加VSTEST\u CONNECTION\u超时值的方法。你能帮我做这个吗

这是我正在使用的示例

- task: VSTest@2
        displayName: 'Test'
        inputs:
            testAssemblyVer2: '**\bin\**\Tests.dll'
            testFiltercriteria: 'TestCategory=Unit'
            runSettingsFile: XYZ.Tests/codecoverage.runsettings
            codeCoverageEnabled: true
            platform: '$(BuildPlatform)'
            configuration: '$(BuildConfiguration)'
            diagnosticsEnabled: true

我建议您改用dotnetCli任务。它更短、更清晰、更直接(它将具有与在控制台中执行
dotnet测试
相同的效果)


即使在中,他们也使用DotNetCoreCLI任务。

我建议您改用dotnetCli任务。它更短、更清晰、更直接(它将具有与在控制台中执行
dotnet测试
相同的效果)


即使在中,如果vstest任务可以在经典管道上成功运行,他们也会使用DotNetCoreCLI任务。

。它也应该在yaml管道中工作。您可以检查代理池选择和任务设置,以确保它们在yaml和classic管道中都相同

1、您的单元测试似乎是在yaml管道中的Vs2017上运行的。您可以尝试在
windows-latest
agent上运行管道,以便在Vs2019上运行测试

如果管道必须在特定代理上运行。您可以使用task下载最新版本。然后为Vstest任务设置
vsTestVersion:toolsInstaller
。见下文:

- task: VisualStudioTestPlatformInstaller@1

- task: VSTest@2
  displayName: 'Test'
  inputs:
    testAssemblyVer2: '**\bin\**\Tests.dll'
    ...
    ...
    vsTestVersion: toolsInstaller
steps:
- checkout: self 
  clean: true
2、你也可以在这里查看解决方案。如解决方案
中所述,删除整个解决方案文件夹,重新克隆项目
。如果您在自托管代理上运行管道。在克隆repo之前,您可以尝试在yaml管道中使用来清理源文件夹。见下文:

- task: VisualStudioTestPlatformInstaller@1

- task: VSTest@2
  displayName: 'Test'
  inputs:
    testAssemblyVer2: '**\bin\**\Tests.dll'
    ...
    ...
    vsTestVersion: toolsInstaller
steps:
- checkout: self 
  clean: true
您还可以尝试将以下内容添加到元素
下的codecoverage.runsettings文件中,以排除线程中提到的microsoft程序集

<ModulePath>.*microsoft\.codeanalysis\.csharp\.dll$</ModulePath>
<ModulePath>.*microsoft\.codeanalysis\.csharp\.workspaces\.dll$</ModulePath>
<ModulePath>.*microsoft\.codeanalysis\.dll$</ModulePath>
<ModulePath>.*microsoft\.codeanalysis\.workspaces\.dll$</ModulePath>
*microsoft\.codeanalysis\.csharp\.dll$
.*microsoft\.codeanalysis\.csharp\.workspace\.dll$
*microsoft\.codeanalysis\.dll$
.*microsoft\.codeanalysis\.workspaces\.dll$

3,您还可以尝试将测试项目的“Microsoft.NET.Test.Sdk”更新为最新版本。

如果vstest任务可以在您的经典管道上成功运行。它也应该在yaml管道中工作。您可以检查代理池选择和任务设置,以确保它们在yaml和classic管道中都相同

1、您的单元测试似乎是在yaml管道中的Vs2017上运行的。您可以尝试在
windows-latest
agent上运行管道,以便在Vs2019上运行测试

如果管道必须在特定代理上运行。您可以使用task下载最新版本。然后为Vstest任务设置
vsTestVersion:toolsInstaller
。见下文:

- task: VisualStudioTestPlatformInstaller@1

- task: VSTest@2
  displayName: 'Test'
  inputs:
    testAssemblyVer2: '**\bin\**\Tests.dll'
    ...
    ...
    vsTestVersion: toolsInstaller
steps:
- checkout: self 
  clean: true
2、你也可以在这里查看解决方案。如解决方案
中所述,删除整个解决方案文件夹,重新克隆项目
。如果您在自托管代理上运行管道。在克隆repo之前,您可以尝试在yaml管道中使用来清理源文件夹。见下文:

- task: VisualStudioTestPlatformInstaller@1

- task: VSTest@2
  displayName: 'Test'
  inputs:
    testAssemblyVer2: '**\bin\**\Tests.dll'
    ...
    ...
    vsTestVersion: toolsInstaller
steps:
- checkout: self 
  clean: true
您还可以尝试将以下内容添加到元素
下的codecoverage.runsettings文件中,以排除线程中提到的microsoft程序集

<ModulePath>.*microsoft\.codeanalysis\.csharp\.dll$</ModulePath>
<ModulePath>.*microsoft\.codeanalysis\.csharp\.workspaces\.dll$</ModulePath>
<ModulePath>.*microsoft\.codeanalysis\.dll$</ModulePath>
<ModulePath>.*microsoft\.codeanalysis\.workspaces\.dll$</ModulePath>
*microsoft\.codeanalysis\.csharp\.dll$
.*microsoft\.codeanalysis\.csharp\.workspace\.dll$
*microsoft\.codeanalysis\.dll$
.*microsoft\.codeanalysis\.workspaces\.dll$

3,您也可以尝试将“Microsoft.NET.Test.Sdk”更新为测试项目的最新版本。

您好,您是否查看了以下解决方案?进展如何?下面的一个对我不起作用。我的项目使用的是dotnetcore2.2,我正在将管道dotnetcore版本配置为3.1。更新正确的版本后,它开始工作。您好,您是否查看了以下解决方案?进展如何?下面的一个对我不起作用。我的项目使用的是dotnetcore2.2,我正在将管道dotnetcore版本配置为3.1。在更新正确的版本后,它开始工作。