【问题标题】:Passing an extremely long filter to dotnet test?将极长的过滤器传递给 dotnet 测试?
【发布时间】:2020-11-06 22:17:11
【问题描述】:

我正在尝试将一个极长的过滤器传递给dotnet test --filter。但是,它太长了,以至于我收到“路径太长”错误。

还有其他方法可以指定过滤器吗?

或者用dotnet test将文件中的过滤器“管道”到--filter参数?

【问题讨论】:

  • 过滤器长什么样?也许这只是一个路径问题?
  • 它有 63744 个字符长。我宁愿不发布它。并且对于少于大约 30000 个字符,它可以工作。
  • 听起来像是对dotnet CLI 支持“响应”文件的功能请求。 MSBuild 和 C# 编译器已经这样做了,但我认为 dotnet 通常不会这样做。见github.com/dotnet/sdk/issues/8725

标签: c# .net-core dotnet-cli dotnet-test


【解决方案1】:

这是一个操作系统限制。你无能为力。

见:Exec and (very) long commands on Windows

cmd.exe 的最大命令行长度限制为 8191 个字符
Win32 的 CreateProcess 的最大 lpCommandLine 长度为 32,768 字符。

解决方法

见:Command prompt (Cmd. exe) command-line string limitation

修改需要长命令行的程序,以便它们使用 包含参数信息的文件,然后包含 命令行中的文件名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 2016-04-17
    • 2021-12-02
    相关资源
    最近更新 更多