You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为dotnet CLI安装TfsLogger扩展,解决TfsPublisher日志器找不到问题

解决dotnet CLI中TfsPublisher日志器找不到的问题

这个问题我之前也碰到过,核心原因是dotnet CLI自带的vstest工具链默认没有包含TfsPublisher日志器,而vstest.console.exe是Visual Studio完整测试工具集的一部分,自带了这个扩展。再加上你提到的版本差异(vstest.host.exe 15.7.1 vs dotnet vstest 15.7.0),也可能加剧了兼容性问题。下面给你几个可行的解决方案:

方案1:通过NuGet安装Tfs测试日志器扩展

这是最推荐的方式,尤其是在CI/CD环境中更容易维护:

  • 首先,安装和你的dotnet vstest版本匹配的Microsoft.TestPlatform.TfsLogger NuGet包,比如你的dotnet vstest是15.7.0,就运行:
    dotnet add package Microsoft.TestPlatform.TfsLogger --version 15.7.0
    
  • 安装完成后,你需要在运行测试命令时指定测试适配器路径(指向NuGet包的安装目录),或者确保包已经被添加到测试项目的依赖中。示例命令:
    dotnet vstest "Mytest.dll" /logger:TfsPublisher;Collection="<TFSURL>";BuildName="<BuildName>";TeamProject="<Project>";Platform="AnyCPU";Flavor="Release"; /TestAdapterPath:./packages/Microsoft.TestPlatform.TfsLogger.15.7.0/lib/netstandard2.0
    
    注意:路径要根据你实际的包安装位置调整。

方案2:手动复制日志器文件到dotnet vstest的扩展目录

如果你更倾向于手动操作,可以从Visual Studio的测试工具目录复制所需文件:

  • 找到Visual Studio安装目录下的TfsLogger相关文件,一般路径类似:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Extensions\Microsoft.VisualStudio.TestPlatform.Extensions.TfsLogger.dll,同时复制它的依赖文件(比如相关的*.dll)
  • 找到dotnet vstest的扩展目录,比如你的版本是15.7.0,路径大概是:%USERPROFILE%\.dotnet\tools\.store\dotnet-vstest\15.7.0\dotnet-vstest\15.7.0\tools\netcoreapp2.1\any\Extensions
  • 将复制的文件粘贴到这个目录下,重新运行你的dotnet vstest命令即可。

方案3:升级dotnet vstest到与vstest.host.exe一致的版本

版本不一致可能导致兼容性问题,建议把dotnet vstest升级到15.7.1,和你的vstest.host.exe版本匹配:

  • 运行升级命令:
    dotnet tool update -g dotnet-vstest
    
  • 升级完成后,运行dotnet vstest --version确认版本是否为15.7.1,此时大概率自带了TfsLogger扩展,直接运行原命令即可。

验证安装是否成功

不管用哪种方案,你都可以运行以下命令验证TfsPublisher是否被识别:

dotnet vstest /listloggers

如果输出中包含TfsPublisher,就说明安装成功了。

内容的提问来源于stack exchange,提问作者domueni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:57:31