如何抑制编译器警告?

How can compiler warnings be suppressed?

有些编译器警告是由 Microsoft 的遗留代码或元数据引起的,或者无法解决。这些警告使人们更难注意到实际的编译器警告。如何抑制编译器警告,使其不出现在编译器结果中?

例如常见的编译器警告如下:

Warning
Assembly 'Microsoft.Xbox.Experimentation.Contracts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d91bba2b903dc20f' failed to load because it was not found.
C:\AOSService\PackagesLocalDirectory\ApplicationCommon\ApplicationCommon\AxReference\Microsoft.Commerce.Flighting.Common.xml

可以使用与抑制最佳实践偏差相同的技术来抑制编译器警告(参见示例 Suppress Best-Practice Deviations)。

为此,您需要将条目添加到最佳实践抑制 xml。这些条目可以在 PackagesLocalDirectory 中包的元数据文件夹中的 BuildModelResult.xml 或 BuildProjectResult.xml 文件中找到。以下条目将抑制问题中的编译器警告。请务必将 <Justification /> 标签中的文本替换为对您有意义的内容。

<Diagnostic>
  <DiagnosticType>ExternalReference</DiagnosticType>
  <Severity>Warning</Severity>
  <Path>dynamics://Reference/Microsoft.Commerce.Flighting.Common</Path>
  <Moniker>AssemblyFileNotFound</Moniker>
  <Justification>Legacy issue</Justification>
</Diagnostic>