我正在处理的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. *,然后再次运行。是什么导致此错误?
答案 0 :(得分:3)
问题是由在任务的参数中指定--logger trx
引起的。较新版本的任务在执行dotnet test
命令时会自动添加此开关,作为TFS支持读取测试结果的输出。额外的参数导致两次切换,因此尽管MSBUILD错误没有帮助,但是Switch: trx
部分提供了有关问题所在的线索。
从参数中删除该开关即可解决问题。