6

我们使用 docfx,它作为 nuget 包含在我们的一个 csproj 文件中。我没有亲自设置这个东西,也没有关于它如何工作的更多信息,但它看起来像是一个简单的 nuget 添加到 C# 项目,然后在 Visual Studio 中的项目编译期间生成文档。

我们的问题是构建日志的详细程度总是设置为详细(或详细或他们如何称呼它),即我在解决方案中有 20 个 c# 项目,因为我没有警告或错误,输出窗口中的构建输出是整个解决方案非常短,每个项目只有几行。但是这个带有d​​ocfx的项目在编译期间总是会产生很多输出,因为它将所有详细消息写入输出窗口(以及放置在项目目录中的log.txt文件)。

问题是如何从“输出”窗口中摆脱它。我试图用谷歌搜索它,我发现命令行上的 --logLevel 警告参数可以降低详细程度。但是我们不使用任何命令行,我们在项目中有 nuget。而且我看不到可以指定此 --logLevel 警告的地方。

(使用最新的 nuget "docfx.console" 版本 2.40.4,C# 项目属于类库类型。我在任何地方都看不到特殊设置。对于输出窗口和日志文件,msbuild 详细程度的 Visual Studio 设置都设置为最小。 )

4

1 回答 1

4

编辑:自从我第一次回复以来,我发现了在项目级别上做这件事的更好方法。

如果编辑 DocFx 项目的.csproj文件以包含以下属性组,则可以设置项目的日志级别。

<PropertyGroup>
  <LogLevel>Warning</LogLevel>
</PropertyGroup>

我从这个 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

这是一个 XML 文件,您可以在其中设置要使用的日志级别。

<Project ...>
  <PropertyGroup>
    ...
    <LogLevel Condition=" '$(LogLevel)' == '' ">Verbose</LogLevel>
    ...
  </PropertyGroup>

我将“详细”更改为“警告”,它显着减少了生成的日志消息。

希望这也可以帮助你!

于 2019-02-22T20:05:03.220 回答