diff --git a/Directory.Build.targets b/Directory.Build.targets
index e7501159d6f6..6e30c30881fb 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -169,6 +169,13 @@
     <BuildDependsOn>$(BuildDependsOn);_CopySymbolsToArtifacts</BuildDependsOn>
   </PropertyGroup>
 
+  <!-- Properties for Package Validation -->
+  <PropertyGroup Condition="'$(ExcludeFromSourceBuild)' != 'true'">
+    <EnablePackageValidation>true</EnablePackageValidation>
+    <DisablePackageBaselineValidation Condition="'$(IsServicingBuild)' != 'true'">true</DisablePackageBaselineValidation>
+    <GenerateCompatibilitySuppressionFile>true</GenerateCompatibilitySuppressionFile>
+  </PropertyGroup>
+
   <Target Name="_CopySymbolsToArtifacts">
     <Copy SourceFiles="$([System.IO.Path]::ChangeExtension('$(TargetPath)', 'pdb'))"
         DestinationFolder="$(SymbolsOutputPath)$(TargetFramework)"
diff --git a/src/Caching/SqlServer/src/CompatibilitySuppressions.xml b/src/Caching/SqlServer/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/Caching/SqlServer/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/DataProtection/DataProtection/src/CompatibilitySuppressions.xml b/src/DataProtection/DataProtection/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/DataProtection/DataProtection/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/DataProtection/Extensions/src/CompatibilitySuppressions.xml b/src/DataProtection/Extensions/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/DataProtection/Extensions/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/DataProtection/StackExchangeRedis/src/CompatibilitySuppressions.xml b/src/DataProtection/StackExchangeRedis/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/DataProtection/StackExchangeRedis/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/Features/JsonPatch/src/CompatibilitySuppressions.xml b/src/Features/JsonPatch/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/Features/JsonPatch/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/FileProviders/Embedded/src/CompatibilitySuppressions.xml b/src/FileProviders/Embedded/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/FileProviders/Embedded/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/SignalR/common/Protocols.MessagePack/src/CompatibilitySuppressions.xml b/src/SignalR/common/Protocols.MessagePack/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/SignalR/common/Protocols.MessagePack/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file
diff --git a/src/SignalR/common/Protocols.NewtonsoftJson/src/CompatibilitySuppressions.xml b/src/SignalR/common/Protocols.NewtonsoftJson/src/CompatibilitySuppressions.xml
new file mode 100644
index 000000000000..fa12ab27fb23
--- /dev/null
+++ b/src/SignalR/common/Protocols.NewtonsoftJson/src/CompatibilitySuppressions.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>System.ServiceModel.Internals.dll</Target>
+  </Suppression>
+  <Suppression>
+    <DiagnosticId>CP1002</DiagnosticId>
+    <Target>SMDiagnostics.dll</Target>
+  </Suppression>
+</Suppressions>
\ No newline at end of file