c# - 如何降低 docfx 的冗长程度?

标签 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# 项目属于类库类型。我在任何地方都看不到特殊设置。Visual Studio 的 msbuild 冗长设置在输出窗口和日志文件。)

最佳答案

编辑: 自从我第一次回复以来,我发现了一种在项目级别执行此操作的更好方法。

如果编辑 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>

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

希望这也能帮到你!

关于c# - 如何降低 docfx 的冗长程度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53613331/

相关文章:

c++ - 生成详细输出的好习惯是什么?

python - Python unittest 中的测试如何访问详细级别?

powershell - 在 PowerShell 中禁止控制台输出

c# - dotnet publish profile CLI 与 Visual Studio 的行为不同

msbuild - MSBuild 社区任务中的 "File Not Found"-- 哪个文件?

TFS 2015 为所有分支机构构建一个

c# - 使用 out 参数在 NSubstitute 模拟方法中返回不同的值

c# - 如何将 C# 中的图像调整为特定的硬盘大小?

c# - 在 Windows Phone silvelight 应用程序中使用 BigInteger 需要什么 namespace ?

c# - 遍历通用对象属性