升级到2.0版后,Dotnet测试任务失败并显示“ MSB1008:只能指定一个项目”错误

时间:2018-08-14 23:23:27

标签: asp.net-core tfs tfsbuild

我正在处理的TFS实例最近从TFS 2017 Update 1升级到TFS 2018 Update 2,使我可以将构建定义中使用的dotnet任务版本从0. *更改为2。*。

这样做,dotnet测试步骤将不再起作用,并返回以下错误:

MSBUILD : error MSB1008: Only one project can be specified.
Switch: trx

它运行的命令是:

C:\Program Files\dotnet\dotnet.exe" test <Agent_WorkFolder>\1\w\3\s\source\MySolution\MyProject.csproj --configuration release --logger trx --logger trx --results-directory <Agent_WorkFolder>\1\w\_temp

赋予任务的参数是:

  • 项目路径= **\*Tests*.csproj
  • 参数= --configuration $(BuildConfiguration) --logger trx

将任务版本恢复为0. *,然后再次运行。是什么导致此错误?

1 个答案:

答案 0 :(得分:3)

问题是由在任务的参数中指定--logger trx引起的。较新版本的任务在执行dotnet test命令时会自动添加此开关,作为TFS支持读取测试结果的输出。额外的参数导致两次切换,因此尽管MSBUILD错误没有帮助,但是Switch: trx部分提供了有关问题所在的线索。

从参数中删除该开关即可解决问题。