From d477a04c4a5a1f1123eec64feb9758135589ff04 Mon Sep 17 00:00:00 2001 From: Eric StJohn Date: Fri, 11 Oct 2024 09:16:44 -0700 Subject: [PATCH 1/7] Avoid package dependencies on libraries in the shared framework We can avoid these dependencies since we can count on the library being part of the shared framework. Fewer dependencies means less packages downloaded, less for customers to service, less copied into the output directory when serviced. Backport of 6e440de5b435aee32673376773c58652d1474f49 --- docs/coding-guidelines/libraries-packaging.md | 8 ++++++++ eng/packaging.targets | 15 +++++++++++++++ ...Microsoft.Extensions.Configuration.Json.csproj | 5 ++++- ...icrosoft.Extensions.DependencyInjection.csproj | 3 +++ .../Microsoft.Extensions.DependencyModel.csproj | 11 +++++++---- .../Microsoft.Extensions.Logging.Console.csproj | 7 +++++-- ...icrosoft.Extensions.Logging.EventSource.csproj | 5 ++++- .../src/Microsoft.Extensions.Primitives.csproj | 2 +- .../Microsoft.Win32.Registry.AccessControl.csproj | 5 +++-- .../src/Microsoft.Windows.Compatibility.csproj | 4 ++-- .../src/System.Collections.Immutable.csproj | 3 ++- .../System.Data.Odbc/src/System.Data.Odbc.csproj | 3 ++- .../System.Diagnostics.DiagnosticSource.csproj | 3 ++- ...tem.DirectoryServices.AccountManagement.csproj | 3 ++- .../src/System.DirectoryServices.csproj | 3 ++- .../src/System.Memory.Data.csproj | 3 ++- .../src/System.Net.Http.Json.csproj | 6 +++++- .../src/System.Reflection.Metadata.csproj | 4 +++- .../System.Reflection.MetadataLoadContext.csproj | 7 +++++-- .../src/System.Security.Cryptography.Pkcs.csproj | 3 ++- .../src/System.Security.Cryptography.Xml.csproj | 3 ++- .../src/System.Security.Permissions.csproj | 3 ++- .../src/System.Text.Encoding.CodePages.csproj | 3 ++- .../src/System.Text.Encodings.Web.csproj | 3 ++- .../System.Text.Json/src/System.Text.Json.csproj | 4 +++- .../src/System.Threading.AccessControl.csproj | 3 ++- 26 files changed, 92 insertions(+), 30 deletions(-) diff --git a/docs/coding-guidelines/libraries-packaging.md b/docs/coding-guidelines/libraries-packaging.md index 8e2b4db7e84e66..96c893db7c45ca 100644 --- a/docs/coding-guidelines/libraries-packaging.md +++ b/docs/coding-guidelines/libraries-packaging.md @@ -18,6 +18,14 @@ Source generators and analyzers can be included in the shared framework by speci Removing a library from the shared framework is a breaking change and should be avoided. +### References to libraries in the shared framework that produce packages + +It's beneficial to avoid project references to libraries that are in the shared framework because it makes the package graph smaller which reduces the number of packages that require servicing and the number of libraries that end up being copied into the application directory. + +If a dependency is part of the shared framework a project/package reference is never required on the latest version (`NetCoreAppCurrent`). A reference is required for previous .NET versions even if the dependency is part of the shared framework if the project you are building targets .NETStandard and references the project there. You may completely avoid a package dependency on .NETStandard and .NET if it's not needed for .NETStandard (for example - if it is an implementation only dependency and you're building a PNSE assembly for .NETStandard). + +Warning NETPKG0001 is emitted when you have an unnecessary reference to a library that is part of the shared framework. To avoid this warning, make sure your ProjectReference is conditioned so that it doesn't apply on `NetCoreAppCurrent`. + ## Transport package Transport packages are non-shipping packages that dotnet/runtime produces in order to share binaries with other repositories. diff --git a/eng/packaging.targets b/eng/packaging.targets index 77f0805b438f01..888ac228fc936e 100644 --- a/eng/packaging.targets +++ b/eng/packaging.targets @@ -183,6 +183,21 @@ + + + + + diff --git a/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj b/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj index ba9b9995989eb7..928e4354593fa7 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj @@ -12,7 +12,6 @@ - + + + + diff --git a/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj b/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj index 2f840f92672d6b..81ba75aa79e834 100644 --- a/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj +++ b/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj @@ -50,6 +50,9 @@ + + + diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj b/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj index 81b60b71352053..be542ac16118ea 100644 --- a/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj +++ b/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj @@ -16,7 +16,7 @@ Microsoft.Extensions.DependencyModel.DependencyContext - + @@ -24,12 +24,15 @@ Microsoft.Extensions.DependencyModel.DependencyContext - - - + + + + + + diff --git a/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj b/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj index 51e9eb48083b43..263d67df5a01f8 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj @@ -35,7 +35,7 @@ - + @@ -47,6 +47,9 @@ + + + @@ -56,4 +59,4 @@ - \ No newline at end of file + diff --git a/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj b/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj index 8b0a16bb9db5c3..ccf9d46ebafb11 100644 --- a/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj @@ -28,7 +28,10 @@ - + + + + diff --git a/src/libraries/Microsoft.Extensions.Primitives/src/Microsoft.Extensions.Primitives.csproj b/src/libraries/Microsoft.Extensions.Primitives/src/Microsoft.Extensions.Primitives.csproj index 5f2911b00eccef..9cc15d63b469a9 100644 --- a/src/libraries/Microsoft.Extensions.Primitives/src/Microsoft.Extensions.Primitives.csproj +++ b/src/libraries/Microsoft.Extensions.Primitives/src/Microsoft.Extensions.Primitives.csproj @@ -22,7 +22,7 @@ Microsoft.Extensions.Primitives.StringSegment - + diff --git a/src/libraries/Microsoft.Win32.Registry.AccessControl/src/Microsoft.Win32.Registry.AccessControl.csproj b/src/libraries/Microsoft.Win32.Registry.AccessControl/src/Microsoft.Win32.Registry.AccessControl.csproj index 923e64056e39f5..d2f4d5aaad7ba9 100644 --- a/src/libraries/Microsoft.Win32.Registry.AccessControl/src/Microsoft.Win32.Registry.AccessControl.csproj +++ b/src/libraries/Microsoft.Win32.Registry.AccessControl/src/Microsoft.Win32.Registry.AccessControl.csproj @@ -26,13 +26,14 @@ System.Security.AccessControl.RegistrySecurity - + + @@ -40,4 +41,4 @@ System.Security.AccessControl.RegistrySecurity - \ No newline at end of file + diff --git a/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj b/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj index a86115b820874c..a9da3f7f9dc9b0 100644 --- a/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj +++ b/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj @@ -31,7 +31,6 @@ - @@ -39,7 +38,6 @@ - @@ -69,5 +67,7 @@ + + diff --git a/src/libraries/System.Collections.Immutable/src/System.Collections.Immutable.csproj b/src/libraries/System.Collections.Immutable/src/System.Collections.Immutable.csproj index 9f95b79a7d3ab5..f4893e1b90b91e 100644 --- a/src/libraries/System.Collections.Immutable/src/System.Collections.Immutable.csproj +++ b/src/libraries/System.Collections.Immutable/src/System.Collections.Immutable.csproj @@ -104,7 +104,7 @@ System.Collections.Immutable.ImmutableStack<T> Link="Common\System\Runtime\Versioning\NonVersionableAttribute.cs" /> - + @@ -116,6 +116,7 @@ System.Collections.Immutable.ImmutableStack<T> + diff --git a/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj b/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj index 44d67a9ba137b0..e6e80fc0fac3f1 100644 --- a/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj +++ b/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj @@ -149,7 +149,7 @@ System.Data.Odbc.OdbcTransaction - + @@ -170,6 +170,7 @@ System.Data.Odbc.OdbcTransaction + diff --git a/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj b/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj index 6b7edb4fe62225..24731840bc062a 100644 --- a/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj +++ b/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj @@ -109,7 +109,7 @@ System.Diagnostics.DiagnosticSource - + @@ -120,6 +120,7 @@ System.Diagnostics.DiagnosticSource + diff --git a/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj b/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj index 907f821fc3b7cf..2534398f5d31c7 100644 --- a/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj +++ b/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj @@ -103,7 +103,7 @@ - + @@ -118,6 +118,7 @@ + diff --git a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj index d11b153aaf7f42..ec248f1a29a241 100644 --- a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj +++ b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj @@ -159,10 +159,10 @@ System.DirectoryServices.ActiveDirectory.DomainController - + @@ -186,6 +186,7 @@ System.DirectoryServices.ActiveDirectory.DomainController + diff --git a/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj b/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj index 8c5ac857a0bc1a..ec3f853fb3e04a 100644 --- a/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj +++ b/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj @@ -24,13 +24,14 @@ System.BinaryData - + + diff --git a/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj b/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj index 2c68126bad5e09..9cf77a18a2747e 100644 --- a/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj +++ b/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj @@ -36,9 +36,11 @@ System.Net.Http.Json.JsonContent - + + + @@ -46,7 +48,9 @@ System.Net.Http.Json.JsonContent + + diff --git a/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj b/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj index 340692c15f7b9b..982548f1cc4417 100644 --- a/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj +++ b/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj @@ -256,11 +256,13 @@ System.Reflection.PortableExecutable.ManagedPEBuilder - + + + diff --git a/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj b/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj index 1c7ce45ad8cbb1..69d5773da8b1f7 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj +++ b/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj @@ -151,20 +151,23 @@ System.Reflection.MetadataAssemblyResolver - - + + + + + diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj b/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj index 3bb3f45e43cd3d..4d4337175f933d 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj @@ -648,7 +648,7 @@ System.Security.Cryptography.Pkcs.EnvelopedCms - + @@ -668,6 +668,7 @@ System.Security.Cryptography.Pkcs.EnvelopedCms + diff --git a/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj b/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj index 82c9d7a307cc8f..9def72b11d7481 100644 --- a/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj +++ b/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj @@ -134,7 +134,7 @@ System.Security.Cryptography.Xml.XmlLicenseTransform - + @@ -147,6 +147,7 @@ System.Security.Cryptography.Xml.XmlLicenseTransform + diff --git a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj index 852a69c96d2aae..d4dc61fd37b943 100644 --- a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj +++ b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj @@ -192,7 +192,7 @@ - + @@ -205,6 +205,7 @@ + diff --git a/src/libraries/System.Text.Encoding.CodePages/src/System.Text.Encoding.CodePages.csproj b/src/libraries/System.Text.Encoding.CodePages/src/System.Text.Encoding.CodePages.csproj index 28ed126161f263..d194275dcc2be4 100644 --- a/src/libraries/System.Text.Encoding.CodePages/src/System.Text.Encoding.CodePages.csproj +++ b/src/libraries/System.Text.Encoding.CodePages/src/System.Text.Encoding.CodePages.csproj @@ -74,7 +74,7 @@ System.Text.CodePagesEncodingProvider - + @@ -84,6 +84,7 @@ System.Text.CodePagesEncodingProvider + diff --git a/src/libraries/System.Text.Encodings.Web/src/System.Text.Encodings.Web.csproj b/src/libraries/System.Text.Encodings.Web/src/System.Text.Encodings.Web.csproj index 543b5929716594..5edb444bc8e010 100644 --- a/src/libraries/System.Text.Encodings.Web/src/System.Text.Encodings.Web.csproj +++ b/src/libraries/System.Text.Encodings.Web/src/System.Text.Encodings.Web.csproj @@ -54,13 +54,14 @@ System.Text.Encodings.Web.JavaScriptEncoder - + + diff --git a/src/libraries/System.Text.Json/src/System.Text.Json.csproj b/src/libraries/System.Text.Json/src/System.Text.Json.csproj index f478aabb427fdd..cb98366dfa8a95 100644 --- a/src/libraries/System.Text.Json/src/System.Text.Json.csproj +++ b/src/libraries/System.Text.Json/src/System.Text.Json.csproj @@ -321,7 +321,7 @@ System.Text.Json.Utf8JsonReader - + @@ -338,9 +338,11 @@ System.Text.Json.Utf8JsonReader + + diff --git a/src/libraries/System.Threading.AccessControl/src/System.Threading.AccessControl.csproj b/src/libraries/System.Threading.AccessControl/src/System.Threading.AccessControl.csproj index eef07db09ff2aa..be0c4a8f8274aa 100644 --- a/src/libraries/System.Threading.AccessControl/src/System.Threading.AccessControl.csproj +++ b/src/libraries/System.Threading.AccessControl/src/System.Threading.AccessControl.csproj @@ -65,13 +65,14 @@ System.Security.AccessControl.SemaphoreSecurity - + + From 0babf9f9bef9f3a97f90d131f3eaf343133075bc Mon Sep 17 00:00:00 2001 From: Eric StJohn Date: Fri, 11 Oct 2024 09:30:00 -0700 Subject: [PATCH 2/7] Enable packages for every project that reduced dependencies --- .../src/Microsoft.Extensions.Configuration.Json.csproj | 2 ++ .../src/Microsoft.Extensions.DependencyInjection.csproj | 3 ++- .../src/Microsoft.Extensions.DependencyModel.csproj | 2 ++ .../src/Microsoft.Extensions.Logging.Console.csproj | 2 ++ .../src/Microsoft.Extensions.Logging.EventSource.csproj | 2 ++ .../src/Microsoft.Extensions.Primitives.csproj | 2 ++ .../src/Microsoft.Win32.Registry.AccessControl.csproj | 4 ++-- .../src/Microsoft.Windows.Compatibility.csproj | 4 ++-- .../src/System.Collections.Immutable.csproj | 2 ++ src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj | 4 ++-- .../src/System.Diagnostics.DiagnosticSource.csproj | 4 ++-- .../src/System.DirectoryServices.AccountManagement.csproj | 4 ++-- .../src/System.DirectoryServices.csproj | 4 ++-- .../System.Memory.Data/src/System.Memory.Data.csproj | 4 ++-- .../System.Net.Http.Json/src/System.Net.Http.Json.csproj | 4 ++-- .../src/System.Reflection.Metadata.csproj | 3 ++- .../src/System.Reflection.MetadataLoadContext.csproj | 2 ++ .../src/System.Security.Cryptography.Pkcs.csproj | 4 ++-- .../src/System.Security.Cryptography.Xml.csproj | 4 ++-- .../src/System.Security.Permissions.csproj | 4 ++-- .../src/System.Text.Encoding.CodePages.csproj | 4 ++-- .../src/System.Text.Encodings.Web.csproj | 2 ++ src/libraries/System.Text.Json/src/System.Text.Json.csproj | 4 ++-- .../src/System.Threading.AccessControl.csproj | 4 ++-- 24 files changed, 48 insertions(+), 30 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj b/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj index 928e4354593fa7..b5075946e967eb 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.Json/src/Microsoft.Extensions.Configuration.Json.csproj @@ -5,6 +5,8 @@ true true JSON configuration provider implementation for Microsoft.Extensions.Configuration. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj b/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj index 81ba75aa79e834..694ae976708cc3 100644 --- a/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj +++ b/src/libraries/Microsoft.Extensions.DependencyInjection/src/Microsoft.Extensions.DependencyInjection.csproj @@ -10,7 +10,8 @@ Default implementation of dependency injection for Microsoft.Extensions.DependencyInjection. false - 1 + true + 2 diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj b/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj index be542ac16118ea..23b2383387440a 100644 --- a/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj +++ b/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj @@ -6,6 +6,8 @@ Commonly Used Types: Microsoft.Extensions.DependencyModel.DependencyContext + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj b/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj index 263d67df5a01f8..c24721cf6e5bc2 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.Console/src/Microsoft.Extensions.Logging.Console.csproj @@ -9,6 +9,8 @@ false true Console logger provider implementation for Microsoft.Extensions.Logging. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj b/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj index ccf9d46ebafb11..468e0f5f9e06ca 100644 --- a/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.EventSource/src/Microsoft.Extensions.Logging.EventSource.csproj @@ -7,6 +7,8 @@ false EventSource/EventListener logger provider implementation for Microsoft.Extensions.Logging. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Primitives/src/Microsoft.Extensions.Primitives.csproj b/src/libraries/Microsoft.Extensions.Primitives/src/Microsoft.Extensions.Primitives.csproj index 9cc15d63b469a9..4774f553892eab 100644 --- a/src/libraries/Microsoft.Extensions.Primitives/src/Microsoft.Extensions.Primitives.csproj +++ b/src/libraries/Microsoft.Extensions.Primitives/src/Microsoft.Extensions.Primitives.csproj @@ -11,6 +11,8 @@ Commonly Used Types: Microsoft.Extensions.Primitives.IChangeToken Microsoft.Extensions.Primitives.StringValues Microsoft.Extensions.Primitives.StringSegment + true + 1 diff --git a/src/libraries/Microsoft.Win32.Registry.AccessControl/src/Microsoft.Win32.Registry.AccessControl.csproj b/src/libraries/Microsoft.Win32.Registry.AccessControl/src/Microsoft.Win32.Registry.AccessControl.csproj index d2f4d5aaad7ba9..8e6e398561aa5b 100644 --- a/src/libraries/Microsoft.Win32.Registry.AccessControl/src/Microsoft.Win32.Registry.AccessControl.csproj +++ b/src/libraries/Microsoft.Win32.Registry.AccessControl/src/Microsoft.Win32.Registry.AccessControl.csproj @@ -4,8 +4,8 @@ enable true - false - 0 + true + 1 Provides support for managing access and audit control lists for Microsoft.Win32.RegistryKey. Commonly Used Types: diff --git a/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj b/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj index a9da3f7f9dc9b0..7b173051396eae 100644 --- a/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj +++ b/src/libraries/Microsoft.Windows.Compatibility/src/Microsoft.Windows.Compatibility.csproj @@ -5,8 +5,8 @@ false true - false - 8 + true + 9 $(NoWarn);NU5128 This Windows Compatibility Pack provides access to APIs that were previously available only for .NET Framework. It can be used from both .NET Core as well as .NET Standard. diff --git a/src/libraries/System.Collections.Immutable/src/System.Collections.Immutable.csproj b/src/libraries/System.Collections.Immutable/src/System.Collections.Immutable.csproj index f4893e1b90b91e..f8f5b20fc35f52 100644 --- a/src/libraries/System.Collections.Immutable/src/System.Collections.Immutable.csproj +++ b/src/libraries/System.Collections.Immutable/src/System.Collections.Immutable.csproj @@ -3,6 +3,8 @@ $(NetCoreAppCurrent);netstandard2.0;net461 enable true + true + 1 This package provides collections that are thread safe and guaranteed to never change their contents, also known as immutable collections. Like strings, any methods that perform modifications will not change the existing instance but instead return a new instance. For efficiency reasons, the implementation uses a sharing mechanism to ensure that newly created instances share as much data as possible with the previous instance while ensuring that operations have a predictable time complexity. Commonly Used Types: diff --git a/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj b/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj index e6e80fc0fac3f1..e799ac33d85a25 100644 --- a/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj +++ b/src/libraries/System.Data.Odbc/src/System.Data.Odbc.csproj @@ -6,8 +6,8 @@ enable true - false - 1 + true + 2 Provides a collection of classes used to access an ODBC data source in the managed space Commonly Used Types: diff --git a/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj b/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj index 24731840bc062a..b49c9c13af06f3 100644 --- a/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj +++ b/src/libraries/System.Diagnostics.DiagnosticSource/src/System.Diagnostics.DiagnosticSource.csproj @@ -11,8 +11,8 @@ Commonly Used Types: System.Diagnostics.DiagnosticListener System.Diagnostics.DiagnosticSource - false - 1 + true + 2 diff --git a/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj b/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj index 2534398f5d31c7..10efd8ed42182b 100644 --- a/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj +++ b/src/libraries/System.DirectoryServices.AccountManagement/src/System.DirectoryServices.AccountManagement.csproj @@ -7,8 +7,8 @@ $(NoWarn);CA2249 true - false - 0 + true + 1 true true Provides uniform access and manipulation of user, computer, and group security principals across the multiple principal stores: Active Directory Domain Services (AD DS), Active Directory Lightweight Directory Services (AD LDS), and Machine SAM (MSAM). diff --git a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj index ec248f1a29a241..e2afcf5d6f29e8 100644 --- a/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj +++ b/src/libraries/System.DirectoryServices/src/System.DirectoryServices.csproj @@ -6,8 +6,8 @@ enable true - false - 1 + true + 2 true true Provides easy access to Active Directory Domain Services. diff --git a/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj b/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj index ec3f853fb3e04a..46458557dd2b7e 100644 --- a/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj +++ b/src/libraries/System.Memory.Data/src/System.Memory.Data.csproj @@ -4,8 +4,8 @@ true enable true - - 1.0.2 + true + 1 A lightweight abstraction for a payload of bytes. Provides methods for converting between strings, streams, JSON, and bytes. Commonly Used Types: diff --git a/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj b/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj index 9cf77a18a2747e..a70b27145ac33c 100644 --- a/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj +++ b/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj @@ -3,8 +3,8 @@ $(NetCoreAppCurrent);net5.0;netstandard2.0;net461 enable true - false - 1 + true + 2 Provides extension methods for System.Net.Http.HttpClient and System.Net.Http.HttpContent that perform automatic serialization and deserialization using System.Text.Json. Commonly Used Types: diff --git a/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj b/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj index 982548f1cc4417..df968bd14ec811 100644 --- a/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj +++ b/src/libraries/System.Reflection.Metadata/src/System.Reflection.Metadata.csproj @@ -6,7 +6,8 @@ $(NetCoreAppCurrent);netstandard2.0;net461 enable true - 1 + true + 2 This packages provides a low-level .NET (ECMA-335) metadata reader and writer. It's geared for performance and is the ideal choice for building higher-level libraries that intend to provide their own object model, such as compilers. Commonly Used Types: diff --git a/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj b/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj index 69d5773da8b1f7..b6243a607fd939 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj +++ b/src/libraries/System.Reflection.MetadataLoadContext/src/System.Reflection.MetadataLoadContext.csproj @@ -6,6 +6,8 @@ $(NetCoreAppCurrent);netcoreapp3.1;netstandard2.0;net461 enable true + true + 1 Provides read-only reflection on assemblies in an isolated context with support for assemblies that have different architectures and runtimes. Commonly Used Types: diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj b/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj index 4d4337175f933d..ffe15d0bcfa04d 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/System.Security.Cryptography.Pkcs.csproj @@ -7,8 +7,8 @@ $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent);netcoreapp3.1-windows;netcoreapp3.1;netstandard2.1-windows;netstandard2.1;netstandard2.0-windows;netstandard2.0;net461-windows true - false - 4 + true + 5 Provides support for PKCS and CMS algorithms. Commonly Used Types: diff --git a/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj b/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj index 9def72b11d7481..6dbbacec43c4a2 100644 --- a/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj +++ b/src/libraries/System.Security.Cryptography.Xml/src/System.Security.Cryptography.Xml.csproj @@ -4,8 +4,8 @@ $(NetCoreAppCurrent);netstandard2.0;net461-windows true - false - 1 + true + 2 Provides classes to support the creation and validation of XML digital signatures. The classes in this namespace implement the World Wide Web Consortium Recommendation, "XML-Signature Syntax and Processing", described at http://www.w3.org/TR/xmldsig-core/. Commonly Used Types: diff --git a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj index d4dc61fd37b943..24e75db80f244a 100644 --- a/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj +++ b/src/libraries/System.Security.Permissions/src/System.Security.Permissions.csproj @@ -4,8 +4,8 @@ $(NetCoreAppCurrent);net5.0;netcoreapp3.1;netstandard2.0;net461-windows true - false - 0 + true + 1 Provides types supporting Code Access Security (CAS). diff --git a/src/libraries/System.Text.Encoding.CodePages/src/System.Text.Encoding.CodePages.csproj b/src/libraries/System.Text.Encoding.CodePages/src/System.Text.Encoding.CodePages.csproj index d194275dcc2be4..a16dcd2b00a988 100644 --- a/src/libraries/System.Text.Encoding.CodePages/src/System.Text.Encoding.CodePages.csproj +++ b/src/libraries/System.Text.Encoding.CodePages/src/System.Text.Encoding.CodePages.csproj @@ -6,8 +6,8 @@ true true - false - 0 + true + 1 true Provides support for code-page based encodings, including Windows-1252, Shift-JIS, and GB2312. diff --git a/src/libraries/System.Text.Encodings.Web/src/System.Text.Encodings.Web.csproj b/src/libraries/System.Text.Encodings.Web/src/System.Text.Encodings.Web.csproj index 5edb444bc8e010..9ca34d180f6531 100644 --- a/src/libraries/System.Text.Encodings.Web/src/System.Text.Encodings.Web.csproj +++ b/src/libraries/System.Text.Encodings.Web/src/System.Text.Encodings.Web.csproj @@ -8,6 +8,8 @@ $(NoWarn);CS3011;CS3019 $(DefineConstants);TARGET_BROWSER true + true + 1 Provides types for encoding and escaping strings for use in JavaScript, HyperText Markup Language (HTML), and uniform resource locators (URL). Commonly Used Types: diff --git a/src/libraries/System.Text.Json/src/System.Text.Json.csproj b/src/libraries/System.Text.Json/src/System.Text.Json.csproj index cb98366dfa8a95..459765f53efd2e 100644 --- a/src/libraries/System.Text.Json/src/System.Text.Json.csproj +++ b/src/libraries/System.Text.Json/src/System.Text.Json.csproj @@ -9,8 +9,8 @@ enable true true - false - 9 + true + 10 Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data. Commonly Used Types: diff --git a/src/libraries/System.Threading.AccessControl/src/System.Threading.AccessControl.csproj b/src/libraries/System.Threading.AccessControl/src/System.Threading.AccessControl.csproj index be0c4a8f8274aa..b0119a21f0694a 100644 --- a/src/libraries/System.Threading.AccessControl/src/System.Threading.AccessControl.csproj +++ b/src/libraries/System.Threading.AccessControl/src/System.Threading.AccessControl.csproj @@ -5,8 +5,8 @@ enable true - false - 0 + true + 1 Provides support for managing access and audit control lists for synchronization primitives. Commonly Used Types: From abcf513a2e4b1aa5b286ae2e95c89a548eb08d44 Mon Sep 17 00:00:00 2001 From: Eric StJohn Date: Thu, 29 Aug 2024 12:35:20 -0700 Subject: [PATCH 3/7] Add an option to enable servicing for transitive dependencies --- docs/project/library-servicing.md | 4 +++ eng/packaging.targets | 44 ++++++++++++++++++++++++++++--- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/docs/project/library-servicing.md b/docs/project/library-servicing.md index a9431903fc7024..09e35b840167dd 100644 --- a/docs/project/library-servicing.md +++ b/docs/project/library-servicing.md @@ -17,6 +17,10 @@ Additionally, if the library is listed among the project references of [Microsof When you make a change to a library & ship it during the servicing release, the `ServicingVersion` must be bumped. This property is found in the library's source project. It's also possible that the property is not in that file, in which case you'll need to add it to the library's source project and set it to 1. If the property is already present in your library's source project, just increment the servicing version by 1. +## Optionally ensure all up-stack packages are also produced + +If you with to ensure that every package that references a serviced package is also serviced itself, you can enable validation by setting `ServiceTransitiveDependencies` to true. When doing this then building the repo, eg: `build libs -allConfigurations` you'll see errors from any project that didn't enable servicing. + ## Test your changes All that's left is to ensure that your changes have worked as expected. To do so, execute the following steps: diff --git a/eng/packaging.targets b/eng/packaging.targets index 888ac228fc936e..8c9bf5844682cd 100644 --- a/eng/packaging.targets +++ b/eng/packaging.targets @@ -300,10 +300,46 @@ - - + + + $(GeneratePackageOnBuild) + + + + + + + <_TransitiveServicedPackages + Condition="'%(ReferencePath.ReferenceSourceTarget)' == 'ProjectReference' and + '%(ReferencePath.GeneratePackageOnBuild)' == 'true'" + >@(ReferencePath->'%(OriginalProjectReferenceItemSpec)') + + + + + + + + + + + + + + + From 943052316dd057653ebd565f62f1bc3794b231dc Mon Sep 17 00:00:00 2001 From: Eric StJohn Date: Tue, 3 Sep 2024 08:32:53 -0700 Subject: [PATCH 4/7] Permit settting ServiceTransitiveDependencies in projects as well --- docs/project/library-servicing.md | 2 +- eng/packaging.targets | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/project/library-servicing.md b/docs/project/library-servicing.md index 09e35b840167dd..d4531bbd9974ec 100644 --- a/docs/project/library-servicing.md +++ b/docs/project/library-servicing.md @@ -19,7 +19,7 @@ When you make a change to a library & ship it during the servicing release, the ## Optionally ensure all up-stack packages are also produced -If you with to ensure that every package that references a serviced package is also serviced itself, you can enable validation by setting `ServiceTransitiveDependencies` to true. When doing this then building the repo, eg: `build libs -allConfigurations` you'll see errors from any project that didn't enable servicing. +If you wish to ensure that every package that references a serviced package is also serviced itself, you can enable validation by setting `ServiceTransitiveDependencies` to true. This can be done in an individual project, or globally. When doing this then building the repo, eg: `build libs -allConfigurations` you'll see errors from any project that didn't enable servicing. Reasons for forcing packages which depend on your package to service are security servicing or removing dependencies. ## Test your changes diff --git a/eng/packaging.targets b/eng/packaging.targets index 8c9bf5844682cd..012245b47f54c9 100644 --- a/eng/packaging.targets +++ b/eng/packaging.targets @@ -302,7 +302,8 @@ - $(GeneratePackageOnBuild) + + $(GeneratePackageOnBuild) @@ -336,8 +337,7 @@ - From 861aa325b60f370b7041ad0d0ea8ccc2f0fb1c8d Mon Sep 17 00:00:00 2001 From: Eric StJohn Date: Fri, 11 Oct 2024 10:02:12 -0700 Subject: [PATCH 5/7] Add additional packages required for up-stack servicing --- .../src/Microsoft.Extensions.Caching.Abstractions.csproj | 2 ++ .../src/Microsoft.Extensions.Caching.Memory.csproj | 3 ++- .../Microsoft.Extensions.Configuration.Abstractions.csproj | 2 ++ .../src/Microsoft.Extensions.Configuration.Binder.csproj | 2 ++ .../src/Microsoft.Extensions.Configuration.CommandLine.csproj | 2 ++ ...osoft.Extensions.Configuration.EnvironmentVariables.csproj | 3 ++- .../Microsoft.Extensions.Configuration.FileExtensions.csproj | 2 ++ .../src/Microsoft.Extensions.Configuration.Ini.csproj | 2 ++ .../src/Microsoft.Extensions.Configuration.UserSecrets.csproj | 3 ++- .../src/Microsoft.Extensions.Configuration.Xml.csproj | 2 ++ .../src/Microsoft.Extensions.Configuration.csproj | 3 ++- .../Microsoft.Extensions.FileProviders.Abstractions.csproj | 2 ++ .../src/Microsoft.Extensions.FileProviders.Composite.csproj | 2 ++ .../src/Microsoft.Extensions.FileProviders.Physical.csproj | 2 ++ .../src/Microsoft.Extensions.Hosting.Abstractions.csproj | 2 ++ .../src/Microsoft.Extensions.Hosting.Systemd.csproj | 2 ++ .../src/Microsoft.Extensions.Hosting.WindowsServices.csproj | 4 ++-- .../src/Microsoft.Extensions.Hosting.csproj | 2 ++ .../src/Microsoft.Extensions.Http.csproj | 2 ++ .../src/Microsoft.Extensions.Logging.Configuration.csproj | 2 ++ .../src/Microsoft.Extensions.Logging.Debug.csproj | 2 ++ .../src/Microsoft.Extensions.Logging.EventLog.csproj | 2 ++ .../src/Microsoft.Extensions.Logging.TraceSource.csproj | 2 ++ .../src/Microsoft.Extensions.Logging.csproj | 2 ++ ...icrosoft.Extensions.Options.ConfigurationExtensions.csproj | 2 ++ .../src/Microsoft.Extensions.Options.DataAnnotations.csproj | 2 ++ .../src/Microsoft.Extensions.Options.csproj | 2 ++ .../src/System.Configuration.ConfigurationManager.csproj | 4 ++-- src/libraries/System.Data.OleDb/src/System.Data.OleDb.csproj | 4 ++-- .../src/System.Diagnostics.PerformanceCounter.csproj | 4 ++-- .../System.Runtime.Caching/src/System.Runtime.Caching.csproj | 4 ++-- 31 files changed, 62 insertions(+), 14 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Caching.Abstractions/src/Microsoft.Extensions.Caching.Abstractions.csproj b/src/libraries/Microsoft.Extensions.Caching.Abstractions/src/Microsoft.Extensions.Caching.Abstractions.csproj index b5279da71f651a..78bdee1e837b1c 100644 --- a/src/libraries/Microsoft.Extensions.Caching.Abstractions/src/Microsoft.Extensions.Caching.Abstractions.csproj +++ b/src/libraries/Microsoft.Extensions.Caching.Abstractions/src/Microsoft.Extensions.Caching.Abstractions.csproj @@ -8,6 +8,8 @@ Commonly Used Types: Microsoft.Extensions.Caching.Distributed.IDistributedCache Microsoft.Extensions.Caching.Memory.IMemoryCache + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj b/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj index a65eda71abed6a..a181b5ce59226f 100644 --- a/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj +++ b/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj @@ -4,7 +4,8 @@ netstandard2.0;net461 true In-memory cache implementation of Microsoft.Extensions.Caching.Memory.IMemoryCache. - 1 + true + 2 diff --git a/src/libraries/Microsoft.Extensions.Configuration.Abstractions/src/Microsoft.Extensions.Configuration.Abstractions.csproj b/src/libraries/Microsoft.Extensions.Configuration.Abstractions/src/Microsoft.Extensions.Configuration.Abstractions.csproj index 24cbc9380f00fc..7bf98dc941e433 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Abstractions/src/Microsoft.Extensions.Configuration.Abstractions.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.Abstractions/src/Microsoft.Extensions.Configuration.Abstractions.csproj @@ -11,6 +11,8 @@ Microsoft.Extensions.Configuration.IConfigurationBuilder Microsoft.Extensions.Configuration.IConfigurationProvider Microsoft.Extensions.Configuration.IConfigurationRoot Microsoft.Extensions.Configuration.IConfigurationSection + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Configuration.Binder/src/Microsoft.Extensions.Configuration.Binder.csproj b/src/libraries/Microsoft.Extensions.Configuration.Binder/src/Microsoft.Extensions.Configuration.Binder.csproj index ec4d33e23eeeef..e4f2d73170f4fa 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Binder/src/Microsoft.Extensions.Configuration.Binder.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.Binder/src/Microsoft.Extensions.Configuration.Binder.csproj @@ -4,6 +4,8 @@ netstandard2.0;net461 true Functionality to bind an object to data in configuration providers for Microsoft.Extensions.Configuration. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Configuration.CommandLine/src/Microsoft.Extensions.Configuration.CommandLine.csproj b/src/libraries/Microsoft.Extensions.Configuration.CommandLine/src/Microsoft.Extensions.Configuration.CommandLine.csproj index e86f2b36065ffd..43b09edeaad624 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.CommandLine/src/Microsoft.Extensions.Configuration.CommandLine.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.CommandLine/src/Microsoft.Extensions.Configuration.CommandLine.csproj @@ -4,6 +4,8 @@ netstandard2.0;net461 true Command line configuration provider implementation for Microsoft.Extensions.Configuration. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj index 8983f7795cb97f..db55ada52d247a 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj @@ -4,7 +4,8 @@ netstandard2.0;net461 true Environment variables configuration provider implementation for Microsoft.Extensions.Configuration. - 1 + true + 2 diff --git a/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/Microsoft.Extensions.Configuration.FileExtensions.csproj b/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/Microsoft.Extensions.Configuration.FileExtensions.csproj index 0c6a948a2acbd3..083f4dc803410a 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/Microsoft.Extensions.Configuration.FileExtensions.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.FileExtensions/src/Microsoft.Extensions.Configuration.FileExtensions.csproj @@ -4,6 +4,8 @@ netstandard2.0;net461 true Extension methods for configuring file-based configuration providers for Microsoft.Extensions.Configuration. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Configuration.Ini/src/Microsoft.Extensions.Configuration.Ini.csproj b/src/libraries/Microsoft.Extensions.Configuration.Ini/src/Microsoft.Extensions.Configuration.Ini.csproj index 045743ef32bb4a..2123495e6ac33a 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Ini/src/Microsoft.Extensions.Configuration.Ini.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.Ini/src/Microsoft.Extensions.Configuration.Ini.csproj @@ -4,6 +4,8 @@ netstandard2.0;net461 true INI configuration provider implementation for Microsoft.Extensions.Configuration. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/src/Microsoft.Extensions.Configuration.UserSecrets.csproj b/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/src/Microsoft.Extensions.Configuration.UserSecrets.csproj index a029a8c863902f..ec6a665a2fff88 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/src/Microsoft.Extensions.Configuration.UserSecrets.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.UserSecrets/src/Microsoft.Extensions.Configuration.UserSecrets.csproj @@ -4,7 +4,8 @@ netstandard2.0;net461 true User secrets configuration provider implementation for Microsoft.Extensions.Configuration. - 1 + true + 2 diff --git a/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj b/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj index 9a06f8e7ad52b3..51c1988cd36c03 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.Xml/src/Microsoft.Extensions.Configuration.Xml.csproj @@ -4,6 +4,8 @@ netstandard2.0;net461-windows true XML configuration provider implementation for Microsoft.Extensions.Configuration. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Configuration/src/Microsoft.Extensions.Configuration.csproj b/src/libraries/Microsoft.Extensions.Configuration/src/Microsoft.Extensions.Configuration.csproj index e20863957c5223..59363b4a68b4b2 100644 --- a/src/libraries/Microsoft.Extensions.Configuration/src/Microsoft.Extensions.Configuration.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration/src/Microsoft.Extensions.Configuration.csproj @@ -4,7 +4,8 @@ netstandard2.0;net461 true Implementation of key-value pair based configuration for Microsoft.Extensions.Configuration. Includes the memory configuration provider. - 1 + true + 2 diff --git a/src/libraries/Microsoft.Extensions.FileProviders.Abstractions/src/Microsoft.Extensions.FileProviders.Abstractions.csproj b/src/libraries/Microsoft.Extensions.FileProviders.Abstractions/src/Microsoft.Extensions.FileProviders.Abstractions.csproj index 07289f58670e5b..ebddc8ea65f2a3 100644 --- a/src/libraries/Microsoft.Extensions.FileProviders.Abstractions/src/Microsoft.Extensions.FileProviders.Abstractions.csproj +++ b/src/libraries/Microsoft.Extensions.FileProviders.Abstractions/src/Microsoft.Extensions.FileProviders.Abstractions.csproj @@ -10,6 +10,8 @@ Commonly Used Types: Microsoft.Extensions.FileProviders.IDirectoryContents Microsoft.Extensions.FileProviders.IFileInfo Microsoft.Extensions.FileProviders.IFileProvider +true +1 diff --git a/src/libraries/Microsoft.Extensions.FileProviders.Composite/src/Microsoft.Extensions.FileProviders.Composite.csproj b/src/libraries/Microsoft.Extensions.FileProviders.Composite/src/Microsoft.Extensions.FileProviders.Composite.csproj index f692dd38aae885..7fa9c7e71a8d96 100644 --- a/src/libraries/Microsoft.Extensions.FileProviders.Composite/src/Microsoft.Extensions.FileProviders.Composite.csproj +++ b/src/libraries/Microsoft.Extensions.FileProviders.Composite/src/Microsoft.Extensions.FileProviders.Composite.csproj @@ -5,6 +5,8 @@ netstandard2.0;net461 true Composite file and directory providers for Microsoft.Extensions.FileProviders. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Microsoft.Extensions.FileProviders.Physical.csproj b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Microsoft.Extensions.FileProviders.Physical.csproj index 242f042fb3262a..6f4b5a9416b3f0 100644 --- a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Microsoft.Extensions.FileProviders.Physical.csproj +++ b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Microsoft.Extensions.FileProviders.Physical.csproj @@ -6,6 +6,8 @@ true true File provider for physical files for Microsoft.Extensions.FileProviders. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Hosting.Abstractions/src/Microsoft.Extensions.Hosting.Abstractions.csproj b/src/libraries/Microsoft.Extensions.Hosting.Abstractions/src/Microsoft.Extensions.Hosting.Abstractions.csproj index c1d22e36caf288..8478d668784b74 100644 --- a/src/libraries/Microsoft.Extensions.Hosting.Abstractions/src/Microsoft.Extensions.Hosting.Abstractions.csproj +++ b/src/libraries/Microsoft.Extensions.Hosting.Abstractions/src/Microsoft.Extensions.Hosting.Abstractions.csproj @@ -5,6 +5,8 @@ Microsoft.Extensions.Hosting true Hosting and startup abstractions for applications. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/Microsoft.Extensions.Hosting.Systemd.csproj b/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/Microsoft.Extensions.Hosting.Systemd.csproj index b3d03b24a3444d..f0929344bdbf84 100644 --- a/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/Microsoft.Extensions.Hosting.Systemd.csproj +++ b/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/Microsoft.Extensions.Hosting.Systemd.csproj @@ -4,6 +4,8 @@ netstandard2.1 true .NET hosting infrastructure for Systemd Services. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Hosting.WindowsServices/src/Microsoft.Extensions.Hosting.WindowsServices.csproj b/src/libraries/Microsoft.Extensions.Hosting.WindowsServices/src/Microsoft.Extensions.Hosting.WindowsServices.csproj index 052c68ff8b2d99..54cd1f992d2c39 100644 --- a/src/libraries/Microsoft.Extensions.Hosting.WindowsServices/src/Microsoft.Extensions.Hosting.WindowsServices.csproj +++ b/src/libraries/Microsoft.Extensions.Hosting.WindowsServices/src/Microsoft.Extensions.Hosting.WindowsServices.csproj @@ -4,8 +4,8 @@ net461;netstandard2.0;netstandard2.1 true .NET hosting infrastructure for Windows Services. - false - 2 + true + 3 diff --git a/src/libraries/Microsoft.Extensions.Hosting/src/Microsoft.Extensions.Hosting.csproj b/src/libraries/Microsoft.Extensions.Hosting/src/Microsoft.Extensions.Hosting.csproj index 5962169ce1aea5..353ea35019d532 100644 --- a/src/libraries/Microsoft.Extensions.Hosting/src/Microsoft.Extensions.Hosting.csproj +++ b/src/libraries/Microsoft.Extensions.Hosting/src/Microsoft.Extensions.Hosting.csproj @@ -4,6 +4,8 @@ $(NetCoreAppCurrent);netstandard2.0;netstandard2.1;net461 true Hosting and startup infrastructures for applications. + true + 1 false diff --git a/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj b/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj index d2206f7e9dae72..8cfa83bcc0fbb6 100644 --- a/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj +++ b/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj @@ -8,6 +8,8 @@ Commonly Used Types: System.Net.Http.IHttpClientFactory +true +1 diff --git a/src/libraries/Microsoft.Extensions.Logging.Configuration/src/Microsoft.Extensions.Logging.Configuration.csproj b/src/libraries/Microsoft.Extensions.Logging.Configuration/src/Microsoft.Extensions.Logging.Configuration.csproj index 976be509012be6..0b3629ae3d0883 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Configuration/src/Microsoft.Extensions.Logging.Configuration.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.Configuration/src/Microsoft.Extensions.Logging.Configuration.csproj @@ -4,6 +4,8 @@ netstandard2.0;net461 true Configuration support for Microsoft.Extensions.Logging. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Logging.Debug/src/Microsoft.Extensions.Logging.Debug.csproj b/src/libraries/Microsoft.Extensions.Logging.Debug/src/Microsoft.Extensions.Logging.Debug.csproj index 2c176051f1f2df..19ec92fab9f088 100644 --- a/src/libraries/Microsoft.Extensions.Logging.Debug/src/Microsoft.Extensions.Logging.Debug.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.Debug/src/Microsoft.Extensions.Logging.Debug.csproj @@ -4,6 +4,8 @@ netstandard2.0;net461 true Debug output logger provider implementation for Microsoft.Extensions.Logging. This logger logs messages to a debugger monitor by writing messages with System.Diagnostics.Debug.WriteLine(). + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Logging.EventLog/src/Microsoft.Extensions.Logging.EventLog.csproj b/src/libraries/Microsoft.Extensions.Logging.EventLog/src/Microsoft.Extensions.Logging.EventLog.csproj index 04daa2e9d224d5..aa49e887cd0e41 100644 --- a/src/libraries/Microsoft.Extensions.Logging.EventLog/src/Microsoft.Extensions.Logging.EventLog.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.EventLog/src/Microsoft.Extensions.Logging.EventLog.csproj @@ -5,6 +5,8 @@ true true Windows Event Log logger provider implementation for Microsoft.Extensions.Logging. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/Microsoft.Extensions.Logging.TraceSource.csproj b/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/Microsoft.Extensions.Logging.TraceSource.csproj index 7a0010c995814b..e5a29d9c775d6f 100644 --- a/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/Microsoft.Extensions.Logging.TraceSource.csproj +++ b/src/libraries/Microsoft.Extensions.Logging.TraceSource/src/Microsoft.Extensions.Logging.TraceSource.csproj @@ -4,6 +4,8 @@ netstandard2.0;net461 true TraceSource logger provider implementation for Microsoft.Extensions.Logging. This logger logs messages to a trace listener by writing messages with System.Diagnostics.TraceSource.TraceEvent(). + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Logging/src/Microsoft.Extensions.Logging.csproj b/src/libraries/Microsoft.Extensions.Logging/src/Microsoft.Extensions.Logging.csproj index f06527607f1263..24d339ed1c1805 100644 --- a/src/libraries/Microsoft.Extensions.Logging/src/Microsoft.Extensions.Logging.csproj +++ b/src/libraries/Microsoft.Extensions.Logging/src/Microsoft.Extensions.Logging.csproj @@ -6,6 +6,8 @@ false Logging infrastructure default implementation for Microsoft.Extensions.Logging. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Options.ConfigurationExtensions/src/Microsoft.Extensions.Options.ConfigurationExtensions.csproj b/src/libraries/Microsoft.Extensions.Options.ConfigurationExtensions/src/Microsoft.Extensions.Options.ConfigurationExtensions.csproj index 5d30bfa93e2bc4..a2002512f92ea6 100644 --- a/src/libraries/Microsoft.Extensions.Options.ConfigurationExtensions/src/Microsoft.Extensions.Options.ConfigurationExtensions.csproj +++ b/src/libraries/Microsoft.Extensions.Options.ConfigurationExtensions/src/Microsoft.Extensions.Options.ConfigurationExtensions.csproj @@ -4,6 +4,8 @@ netstandard2.0;net461 true Provides additional configuration specific functionality related to Options. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Options.DataAnnotations/src/Microsoft.Extensions.Options.DataAnnotations.csproj b/src/libraries/Microsoft.Extensions.Options.DataAnnotations/src/Microsoft.Extensions.Options.DataAnnotations.csproj index 149921ab06d4b6..41f3019c61e2ba 100644 --- a/src/libraries/Microsoft.Extensions.Options.DataAnnotations/src/Microsoft.Extensions.Options.DataAnnotations.csproj +++ b/src/libraries/Microsoft.Extensions.Options.DataAnnotations/src/Microsoft.Extensions.Options.DataAnnotations.csproj @@ -4,6 +4,8 @@ netstandard2.1;netstandard2.0;net461 true Provides additional DataAnnotations specific functionality related to Options. + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Options/src/Microsoft.Extensions.Options.csproj b/src/libraries/Microsoft.Extensions.Options/src/Microsoft.Extensions.Options.csproj index 04dd8ce5f15001..df9a4bf08b4e84 100644 --- a/src/libraries/Microsoft.Extensions.Options/src/Microsoft.Extensions.Options.csproj +++ b/src/libraries/Microsoft.Extensions.Options/src/Microsoft.Extensions.Options.csproj @@ -4,6 +4,8 @@ netstandard2.1;netstandard2.0;net461 true Provides a strongly typed way of specifying and accessing settings using dependency injection. + true + 1 diff --git a/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj b/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj index 3bbf8740e7c0b7..86cf0eab20db0c 100644 --- a/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj +++ b/src/libraries/System.Configuration.ConfigurationManager/src/System.Configuration.ConfigurationManager.csproj @@ -6,8 +6,8 @@ $(NoWarn);CA1847 true - false - 1 + true + 2 Provides types that support using configuration files. Commonly Used Types: diff --git a/src/libraries/System.Data.OleDb/src/System.Data.OleDb.csproj b/src/libraries/System.Data.OleDb/src/System.Data.OleDb.csproj index 3370a6f9deed38..33d433a670b2bc 100644 --- a/src/libraries/System.Data.OleDb/src/System.Data.OleDb.csproj +++ b/src/libraries/System.Data.OleDb/src/System.Data.OleDb.csproj @@ -12,8 +12,8 @@ $(NoWarn);CA1845 true - false - 0 + true + 1 Provides a collection of classes for OLEDB. Commonly Used Types: diff --git a/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj b/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj index 150710e9b74f93..03fe557fa667cc 100644 --- a/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj +++ b/src/libraries/System.Diagnostics.PerformanceCounter/src/System.Diagnostics.PerformanceCounter.csproj @@ -5,8 +5,8 @@ $(NoWarn);CA1847 true - false - 1 + true + 2 Provides the System.Diagnostics.PerformanceCounter class, which allows access to Windows performance counters. Commonly Used Types: diff --git a/src/libraries/System.Runtime.Caching/src/System.Runtime.Caching.csproj b/src/libraries/System.Runtime.Caching/src/System.Runtime.Caching.csproj index 3f8f859c4f45d9..ef2dd3aa7ed4ab 100644 --- a/src/libraries/System.Runtime.Caching/src/System.Runtime.Caching.csproj +++ b/src/libraries/System.Runtime.Caching/src/System.Runtime.Caching.csproj @@ -4,8 +4,8 @@ $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent);netcoreapp3.1-windows;netcoreapp3.1;netstandard2.0-windows;netstandard2.0 true - false - 0 + true + 1 true true true From 244ff4e3c6af5083fbc6774e32053b27b0392d87 Mon Sep 17 00:00:00 2001 From: Eric StJohn Date: Fri, 11 Oct 2024 11:02:53 -0700 Subject: [PATCH 6/7] Fix indenting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com> --- .../Microsoft.Extensions.FileProviders.Abstractions.csproj | 4 ++-- .../src/Microsoft.Extensions.Http.csproj | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.FileProviders.Abstractions/src/Microsoft.Extensions.FileProviders.Abstractions.csproj b/src/libraries/Microsoft.Extensions.FileProviders.Abstractions/src/Microsoft.Extensions.FileProviders.Abstractions.csproj index ebddc8ea65f2a3..51c86a3c22e991 100644 --- a/src/libraries/Microsoft.Extensions.FileProviders.Abstractions/src/Microsoft.Extensions.FileProviders.Abstractions.csproj +++ b/src/libraries/Microsoft.Extensions.FileProviders.Abstractions/src/Microsoft.Extensions.FileProviders.Abstractions.csproj @@ -10,8 +10,8 @@ Commonly Used Types: Microsoft.Extensions.FileProviders.IDirectoryContents Microsoft.Extensions.FileProviders.IFileInfo Microsoft.Extensions.FileProviders.IFileProvider -true -1 + true + 1 diff --git a/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj b/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj index 8cfa83bcc0fbb6..37ea70482e7298 100644 --- a/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj +++ b/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj @@ -8,8 +8,8 @@ Commonly Used Types: System.Net.Http.IHttpClientFactory -true -1 + true + 1 From f7ac2bec89eb575b72929cd0f1bdcd2da29f4ed1 Mon Sep 17 00:00:00 2001 From: Eric StJohn Date: Mon, 14 Oct 2024 13:19:11 -0700 Subject: [PATCH 7/7] Bump servicing version for packages that shipped last month --- .../src/Microsoft.Extensions.Caching.Memory.csproj | 2 +- .../src/Microsoft.Extensions.DependencyModel.csproj | 4 +--- .../System.IO.Packaging/src/System.IO.Packaging.csproj | 2 +- src/libraries/System.Text.Json/src/System.Text.Json.csproj | 2 +- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj b/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj index d7a09ae1d5a9b1..a6aaf738484f36 100644 --- a/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj +++ b/src/libraries/Microsoft.Extensions.Caching.Memory/src/Microsoft.Extensions.Caching.Memory.csproj @@ -5,7 +5,7 @@ true In-memory cache implementation of Microsoft.Extensions.Caching.Memory.IMemoryCache. true - 2 + 3 true diff --git a/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj b/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj index 2ddec3738f722c..3aefacf28735a8 100644 --- a/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj +++ b/src/libraries/Microsoft.Extensions.DependencyModel/src/Microsoft.Extensions.DependencyModel.csproj @@ -2,14 +2,12 @@ netstandard2.0;net461 true - true - 1 Abstractions for reading `.deps` files. Commonly Used Types: Microsoft.Extensions.DependencyModel.DependencyContext true - 1 + 2 diff --git a/src/libraries/System.IO.Packaging/src/System.IO.Packaging.csproj b/src/libraries/System.IO.Packaging/src/System.IO.Packaging.csproj index 0936526a24dddd..5fb95bbf1b00d7 100644 --- a/src/libraries/System.IO.Packaging/src/System.IO.Packaging.csproj +++ b/src/libraries/System.IO.Packaging/src/System.IO.Packaging.csproj @@ -8,7 +8,7 @@ true true - 1 + 2 Provides classes that support storage of multiple data objects in a single container. diff --git a/src/libraries/System.Text.Json/src/System.Text.Json.csproj b/src/libraries/System.Text.Json/src/System.Text.Json.csproj index 8a65b53fcbefda..24bb2ec8355a74 100644 --- a/src/libraries/System.Text.Json/src/System.Text.Json.csproj +++ b/src/libraries/System.Text.Json/src/System.Text.Json.csproj @@ -10,7 +10,7 @@ true true true - 10 + 11 Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data. Commonly Used Types: