【问题标题】:Dotnet test task fails with ''MSB1008: Only one project can be specified" error after upgrade to version 2.0升级到 2.0 版后,Dotnet 测试任务失败并出现“MSB1008:只能指定一个项目”错误
【发布时间】:2018-08-15 07:23:26
【问题描述】:

我正在处理的 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.*,它会再次运行。是什么导致了这个错误?

【问题讨论】:

    标签: asp.net-core tfs tfsbuild


    【解决方案1】:

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

    从参数中删除开关解决了问题。

    【讨论】:

    • 我尝试运行 dotnet test "Solution.sln" 但仍然出现错误
    • @JohnDemetriou,我建议您使用返回的完整命令和日志输出(如我的问题)提出一个新问题,以获得您需要的帮助。
    • 我只是手动定义它们。太匆忙了
    猜你喜欢
    • 2014-08-07
    • 2011-04-16
    • 1970-01-01
    • 2018-05-28
    • 2013-06-03
    • 2020-12-11
    • 2018-02-01
    • 2017-10-25
    • 2016-10-30
    相关资源
    最近更新 更多