Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[API Compat] Support suppressing an error globally for the same left and right with no target #19123

Merged
merged 2 commits into from
Jul 22, 2021

Conversation

safern
Copy link
Member

@safern safern commented Jul 21, 2021

This support is like a NoWarn but for a specific Left and Right tuple.

This is helpful for scenarios where you have a facade or you don't care about a specific compatibility rule for those two targets because you intentionally made a breaking change or drop some sort of support.

Instead of listing all the targets i.e:

Before
<?xml version="1.0"?>
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <!-- These types are forwarded on net461 https://github.com/dotnet/sdk/issues/18203-->
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeArgumentReferenceExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeArrayCreateExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeArrayIndexerExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeAssignStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeAttachEventStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeAttributeArgument</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeAttributeArgumentCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeAttributeDeclaration</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeAttributeDeclarationCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeBaseReferenceExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeBinaryOperatorExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeBinaryOperatorType</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeCastExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeCatchClause</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeCatchClauseCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeChecksumPragma</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeComment</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeCommentStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeCommentStatementCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeCompileUnit</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeConditionStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeConstructor</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeDefaultValueExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeDelegateCreateExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeDelegateInvokeExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeDirectionExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeDirective</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeDirectiveCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeEntryPointMethod</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeEventReferenceExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeExpressionCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeExpressionStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeFieldReferenceExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeGotoStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeIndexerExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeIterationStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeLabeledStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeLinePragma</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeMemberEvent</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeMemberField</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeMemberMethod</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeMemberProperty</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeMethodInvokeExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeMethodReferenceExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeMethodReturnStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeNamespace</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeNamespaceCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeNamespaceImport</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeNamespaceImportCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeObject</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeObjectCreateExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeParameterDeclarationExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeParameterDeclarationExpressionCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodePrimitiveExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodePropertyReferenceExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodePropertySetValueReferenceExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeRegionDirective</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeRegionMode</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeRemoveEventStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeSnippetCompileUnit</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeSnippetExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeSnippetStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeSnippetTypeMember</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeStatementCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeThisReferenceExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeThrowExceptionStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTryCatchFinallyStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeConstructor</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeDeclaration</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeDeclarationCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeDelegate</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeMember</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeMemberCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeOfExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeParameter</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeParameterCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeReferenceOptions</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeReference</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeReferenceCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeTypeReferenceExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeVariableDeclarationStatement</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.CodeVariableReferenceExpression</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.FieldDirection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.MemberAttributes</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.CodeCompiler</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.CodeDomProvider</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.CodeGenerator</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.CodeGeneratorOptions</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.CodeParser</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.CompilerError</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.CompilerErrorCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.CompilerInfo</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.CompilerParameters</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.CompilerResults</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.Executor</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.GeneratorSupport</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.ICodeCompiler</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.ICodeGenerator</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.ICodeParser</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.LanguageOptions</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:System.CodeDom.Compiler.TempFileCollection</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:Microsoft.VisualBasic.VBCodeProvider</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Target>T:Microsoft.CSharp.CSharpCodeProvider</Target>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
</Suppressions>
After
<?xml version="1.0"?>
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <!-- These types are forwarded on net461 https://github.com/dotnet/sdk/issues/18203-->
  <Suppression>
    <DiagnosticId>CP0001</DiagnosticId>
    <Left>lib/netstandard2.0/System.CodeDom.dll</Left>
    <Right>lib/net461/System.CodeDom.dll</Right>
  </Suppression>
</Suppressions>

This will help simplify cases like: https://github.com/dotnet/runtime/pull/55216/files#diff-316aa8a0a16f2aec0617a14df40489cb385ced8364a791ea2f96ca907c4ff797R1

Copy link
Contributor

@Anipik Anipik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants