0

以下适用于我的电脑,但是当我转移到 DEVOP 时,它会出错。

我通过 nuget 安装了 Micrsosoft.Expression.Encoder。它与 DEVOPS 上的 nuget 安装程序步骤一起安装。

我的测试的第一步有以下内容

this.Scj = new ScreenCaptureJob();

我收到以下错误:

object reference not set to an instance of an object.

我在运行设置中设置了以下设置。

<DataCollectionRunSettings>
<DataCollectors>
      <DataCollector uri="datacollector://microsoft/VideoRecorder/1.0" assemblyQualifiedName="Microsoft.VisualStudio.TestTools.DataCollection.VideoRecorder.VideoRecorderDataCollector, Microsoft.VisualStudio.TestTools.DataCollection.VideoRecorder, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" friendlyName="Screen and Voice Recorder">
    <!--Video data collector was introduced in Visual Studio 2017 version 15.5 -->
  </DataCollector>
</DataCollectors>

运行这些测试是否需要 DEVOPS 中的任何其他设置?我在 2017 年和 2019 年在本地运行过这个。我在 DEVOP 中设置为“最新”。

4

1 回答 1

0

如果标准代理中缺少 microsoft.expression.encoder。您可以添加一个 powershell 任务并在下面运行脚本以在这些代理上下载和安装编码器。

下载encoder.exe

$client = new-object System.Net.WebClient
$link = "https://download.microsoft.com/download/E/3/4/E3423C3F-D17F-43E3-BB06-BC51245F573A/Encoder_en.exe"
$client.DownloadFile($link, "$(Agent.BuildDirectory)/Encoder_en.exe")

安装 encode_en.exe

Start-Process "$(Agent.BuildDirectory)/Encoder_en.exe"  -ArgumentList '/S','/v','/qn' -passthru

Powershell 任务如下图所示: 在此处输入图像描述

于 2019-08-21T10:34:04.903 回答