升级到 2.0 版后,Dotnet 测试任务失败并出现“MSB1008:只能指定一个项目”错误
Dotnet test task fails with ''MSB1008: Only one project can be specified" error after upgrade to version 2.0
我正在处理的 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>\w\s\source\MySolution\MyProject.csproj --configuration release --logger trx --logger trx --results-directory <Agent_WorkFolder>\w\_temp
给任务的参数是:
- 项目路径 =
**\*Tests*.csproj
- 参数 =
--configuration $(BuildConfiguration) --logger trx
正在将任务版本还原为 0.*,然后再次运行。是什么导致了这个错误?
问题是由在任务的参数中指定的 --logger trx
引起的。较新版本的任务在执行 dotnet test
命令时自动添加此开关作为 TFS 支持读取测试结果的输出。额外的参数导致开关被给出两次,因此虽然 MSBUILD 错误没有帮助,但 Switch: trx
部分给出了问题所在的线索。
从参数中删除开关解决了问题。
我正在处理的 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>\w\s\source\MySolution\MyProject.csproj --configuration release --logger trx --logger trx --results-directory <Agent_WorkFolder>\w\_temp
给任务的参数是:
- 项目路径 =
**\*Tests*.csproj
- 参数 =
--configuration $(BuildConfiguration) --logger trx
正在将任务版本还原为 0.*,然后再次运行。是什么导致了这个错误?
问题是由在任务的参数中指定的 --logger trx
引起的。较新版本的任务在执行 dotnet test
命令时自动添加此开关作为 TFS 支持读取测试结果的输出。额外的参数导致开关被给出两次,因此虽然 MSBUILD 错误没有帮助,但 Switch: trx
部分给出了问题所在的线索。
从参数中删除开关解决了问题。