Al *_*epp 6 c# msbuild verbosity docfx
我们使用 docfx,它作为 nuget 包含在我们的一个 csproj 文件中。我没有亲自设置这个东西,我没有关于它如何工作的更多信息,但它看起来像一个简单的 nuget 添加到 C# 项目,然后在 Visual Studio 中的项目编译期间生成文档。
我们的问题是构建日志的详细程度总是设置为详细(或详细或他们如何称呼它),即我在解决方案中有 20 个 c# 项目,并且由于我没有警告或错误,输出窗口中的构建输出是整个解决方案的缩写,每个项目只有几行。但是这个带有 docfx 的项目在编译期间总是会产生大量输出,因为它将所有详细消息写入输出窗口(以及放置在项目目录中的 log.txt 文件)。
问题是如何从“输出”窗口中摆脱这种情况。我试着用谷歌搜索,我发现命令行上的 --logLevel 警告参数可以降低冗长。但是我们不使用任何命令行,我们在项目中有 nuget。而且我看不到可以指定此 --logLevel 警告的地方。
(使用最新的 nuget“docfx.console”版本 2.40.4,C# 项目属于类库类型。我在任何地方都看不到特殊设置。对于输出窗口和日志文件,msbuild 详细程度的 Visual Studio 设置都设置为最小。 )
编辑:自从我第一次回复以来,我发现了一种在项目级别更好的方法。
如果编辑DocFx 项目的.csproj文件以包含以下属性组,则可以设置项目的日志级别。
<PropertyGroup>
<LogLevel>Warning</LogLevel>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
我从这个 git 问题的评论中得到了这个想法:https://github.com/dotnet/docfx/issues/2595#issuecomment-379947069
原始回复:
我只找到了一种方法,但它将是全局级别的,如果升级到新版本,您可能需要重新设置。
您可以修改 docfx.console.targets 文件来更改日志级别。在我的电脑上,它位于
C:\Users\<username>\.nuget\packages\docfx.console\<version number>\build\docfx.console.targets
Run Code Online (Sandbox Code Playgroud)
这是一个 XML 文件,您可以在其中设置要使用的日志级别。
<Project ...>
<PropertyGroup>
...
<LogLevel Condition=" '$(LogLevel)' == '' ">Verbose</LogLevel>
...
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
我将“详细”更改为“警告”,它显着减少了生成的日志消息。
希望这也能帮助你!
| 归档时间: |
|
| 查看次数: |
650 次 |
| 最近记录: |