是否可以抑制当
dotnet run
导致构建发生时输出的构建警告,例如代码更改后?
$ dotnet run --verbosity quiet
/../MyProgram.cs(6,21): warning CS8618: Non-nullable property
'MyProperty' must contain a non-null value when exiting
constructor. Consider declaring the property as nullable.
<My Program Output>
这很痛苦,因为在开发过程中我会将程序输出传输到另一个工具中,并且构建警告输出会破坏该工具的解析。我不想禁用任何特定的警告;我想简单地从
dotnet run
的输出中省略它们。
$ dotnet run --property WarningLevel=0
--property:<NAME>=<VALUE>
将属性传递给 MSBuild
(https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-run)WarningLevel=[0,1,2,3,4]
配置要输出的警告级别,其中 4
是默认值,0
禁用所有警告 (https://learn.microsoft.com/en-us/dotnet/csharp/language-reference /编译器选项/错误警告)我发现你需要多个开关才能更可靠地工作:
dotnet build --nologo -v q --property WarningLevel=0 /clp:ErrorsOnly
地点:
--nologo
抑制标题-v q
将输出详细程度设置为安静--property WarningLevel=0
适用于MsBuild,并在其他答案中进行了很好的描述。/clp:ErrorsOnly
表示 ConsoleLloggerP参数由于原因,我还没有充分探索,
dotnet run
并不总是尊重这些论点,所以我将它们与 bash/pwsh 缝合在一起:
dotnet build --nologo -v q --property WarningLevel=0 /clp:ErrorsOnly && dotnet run --no-build
免责声明:禁用警告通常是一个坏主意
这对我有用 dotnet run --verbosity 错误 dotnet yoor.dll --urls "http://+:portno" --verbosity 错误