如何在 Windows Store 应用程序中禁用自动生成代码的 "Missing XML comment" 警告?

How to disable "Missing XML comment" warning for auto generated code in Windows Store app?

我在 VS2015 的 Universal Windows Store App 项目中收到大量编译器警告 CS1591 Missing XML comment for publicly visible type or member ... 以获取自动生成的代码文件,例如

我知道可用于修复这些警告的不同方法,但我无法使用 Quoc Lam's blog 中提到的具体方法。其他可能的解决方案对我不起作用,那么我需要做什么才能使其适用于我的项目?

有几件事我还是不明白:

我还查看了几个 msbuild .target 文件,但完全迷路了。如果您需要此 post.

中仍然缺少的更多信息,请告诉我

更新

除了已接受的答案之外,我还 post 我的项目的工作解决方案,因为它不适合评论:

<Target Name="CodeWarningRemover" AfterTargets="MarkupCompilePass2">
    <ItemGroup>
        <CSFiles Include="**\*.g.cs;**\*.g.i.cs" />
    </ItemGroup>
    <Message Text="CSFiles: '@(CSFiles)'" />
    <Exec Command="for %%f in (@(CSFiles)) do echo #pragma warning disable > %%f.temp" />
    <Exec Command="for %%f in (@(CSFiles)) do type %%f >> %%f.temp" />
    <Exec Command="for %%f in (@(CSFiles)) do move /y %%f.temp %%f" />
</Target>

您可以在目标机智中加载要修改的文件列表 ItemGroup :

<Target Name="CodeWarningRemover" AfterTargets="FindTheTagertToOverwrite">
    <ItemGroup>
        <Content Include="*.g.cs" />
        <Content Include="*.g.i.cs" />
    </ItemGroup>
    <Exec Command="for %%f in (@(Content)) do echo #pragma warning disable > %%f.temp" />
    <Exec Command="for %%f in (@(Content)) do type %%f >> %%f.temp" />
    <Exec Command="for %%f in (@(Content)) do copy /y %%f.temp %%f" />
</Target>

您需要找到要覆盖的目标:示例中名为 "FindTheTagertToOverwrite"。它是 Universal Windows Store App 项目使用的目标,它是构建过程或您的自定义构建过程。抱歉,我不熟悉这个项目

你可以试试 MarkupCompilePass1

"CodeWarningRemover" 直到最近才为我的 UWP 项目工作,当时我创建了一个名称包含空格的解决方案配置。在深入研究 MSBuild 之后,我发现了以下内容:

<Target Name="PragmaWarningDisablePrefixer" AfterTargets="MarkupCompilePass2">
    <ItemGroup>
        <GeneratedCSFiles Include="**\*.g.cs;**\*.g.i.cs" />
    </ItemGroup>
    <Message Text="CSFiles: @(GeneratedCSFiles->'&quot;%(Identity)&quot;')" />
    <Exec Command="for %%f in (@(GeneratedCSFiles->'&quot;%(Identity)&quot;')) do echo #pragma warning disable &gt; %%f.temp &amp;&amp; type %%f &gt;&gt; %%f.temp &amp;&amp; move /y %%f.temp %%f" />
</Target>