1

我想运行一个包含以下内容的命令:

dotnet test /p:Exclude=\"*Test*,*Requirement*\"

以上不是完整的命令,但足以引发解析错误。我在我的 C# 项目中使用 Coverlet NuGet 包,我想排除与这些名称匹配的所有项目。

我在这里这里都读过,将参数括在“转义引号”中应该可以做到,但它不起作用。我得到:

MSBUILD : error MSB1006: Property is not valid.
Switch: *Requirement*\

使用常规的非转义引号会给出相同的错误消息:

dotnet test /p:Exclude="*Test*,*Requirement*"

转义逗号会给出相同的错误消息:

dotnet test /p:Exclude=*Test*\,*Requirement*

注意:上面的例子可能不是正确的 Coverlet 语法。这暂时无关紧要。我只想能够将逗号分隔的值列表传递给一个参数。就目前而言,dotnet 在到达 Coverlet 之前很久就拒绝了我的语法。

我正在从 PowerShell 运行命令。

4

1 回答 1

1

事实证明,在 PowerShell 中,%2c被解释为逗号。所以我可以输入这个:

dotnet test /p:Exclude=*Test*%2c*Requirement*

于 2020-03-19T11:48:54.090 回答