我们使用docfx,它作为一个nuget包含在我们的csproj文件中。我没有亲自设置它,也没有关于它如何工作的更多信息,但它看起来像是添加到c项目中的一个简单的nuget,然后在visual studio中的项目编译期间生成文档。
我们的问题是,构建日志的详细程度总是设置为详细(或详细,或他们如何调用它),即我有大约20个C项目在解决方案中,由于我没有警告或错误,因此输出窗口中的构建输出对于整个解决方案来说非常短,每个项目只有几行。但是这个带有docfx的项目在编译期间总是会产生很多输出,因为它会将所有详细的消息写到output窗口(以及它位于项目目录中的log.txt文件)。
问题是如何从输出窗口中删除它。我试着用google搜索它,发现——命令行上的loglevel warning参数可以降低详细程度。但是我们不使用任何命令行,我们有nuget-in项目。我看不到任何地方可以指定日志级别警告。
(使用最新的NuGet“docfx.console”版本2.40.4,C项目属于类库类型。我在任何地方都看不到特殊的设置。对于输出窗口和日志文件,msbuild verbosity的visual studio设置都设置为minimal。)

最佳答案

编辑:
自从我的第一个回答,我发现了一个更好的方法来做这个项目一级。
如果编辑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>

我将“verbose”改为“warning”,它显著减少了生成的日志消息。
希望这也能帮助你!

09-11 05:01