From d7169d2557580da7c7af2967cd839623d08806d5 Mon Sep 17 00:00:00 2001 From: Maksym Koshovyi Date: Sun, 15 Aug 2021 10:45:49 +0300 Subject: [PATCH 1/5] Annotate --- ...ft.Extensions.Configuration.EnvironmentVariables.cs | 4 ++-- ...xtensions.Configuration.EnvironmentVariables.csproj | 8 +++++++- .../src/EnvironmentVariablesConfigurationProvider.cs | 10 +++++----- .../src/EnvironmentVariablesConfigurationSource.cs | 2 +- ...xtensions.Configuration.EnvironmentVariables.csproj | 9 ++++++++- 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs index 5292b3f6d9050..c08d1a0613df4 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs @@ -18,14 +18,14 @@ namespace Microsoft.Extensions.Configuration.EnvironmentVariables public partial class EnvironmentVariablesConfigurationProvider : Microsoft.Extensions.Configuration.ConfigurationProvider { public EnvironmentVariablesConfigurationProvider() { } - public EnvironmentVariablesConfigurationProvider(string prefix) { } + public EnvironmentVariablesConfigurationProvider(string? prefix) { } public override void Load() { } public override string ToString() { throw null; } } public partial class EnvironmentVariablesConfigurationSource : Microsoft.Extensions.Configuration.IConfigurationSource { public EnvironmentVariablesConfigurationSource() { } - public string Prefix { get { throw null; } set { } } + public string? Prefix { get { throw null; } set { } } public Microsoft.Extensions.Configuration.IConfigurationProvider Build(Microsoft.Extensions.Configuration.IConfigurationBuilder builder) { throw null; } } } diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj index 45d78b92ea24b..2660c9c25aeb1 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj @@ -1,10 +1,16 @@ - netstandard2.0;net461 + $(NetCoreAppCurrent);netstandard2.0;net461 + enable + + + + + diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesConfigurationProvider.cs b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesConfigurationProvider.cs index 5ea29116ca2d9..8b88483620cc5 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesConfigurationProvider.cs +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesConfigurationProvider.cs @@ -29,7 +29,7 @@ public EnvironmentVariablesConfigurationProvider() => /// Initializes a new instance with the specified prefix. /// /// A prefix used to filter the environment variables. - public EnvironmentVariablesConfigurationProvider(string prefix) => + public EnvironmentVariablesConfigurationProvider(string? prefix) => _prefix = prefix ?? string.Empty; /// @@ -47,7 +47,7 @@ public override string ToString() internal void Load(IDictionary envVariables) { - var data = new Dictionary(StringComparer.OrdinalIgnoreCase); + var data = new Dictionary(StringComparer.OrdinalIgnoreCase); IDictionaryEnumerator e = envVariables.GetEnumerator(); try @@ -56,7 +56,7 @@ internal void Load(IDictionary envVariables) { DictionaryEntry entry = e.Entry; string key = (string)entry.Key; - string provider = null; + string? provider = null; string prefix; if (key.StartsWith(MySqlServerPrefix, StringComparison.OrdinalIgnoreCase)) @@ -94,7 +94,7 @@ internal void Load(IDictionary envVariables) // Add the key-value pair for connection string, and optionally provider name key = NormalizeKey(key.Substring(prefix.Length)); - AddIfPrefixed(data, $"ConnectionStrings:{key}", (string)entry.Value); + AddIfPrefixed(data, $"ConnectionStrings:{key}", (string?)entry.Value); if (provider != null) { AddIfPrefixed(data, $"ConnectionStrings:{key}_ProviderName", provider); @@ -109,7 +109,7 @@ internal void Load(IDictionary envVariables) Data = data; } - private void AddIfPrefixed(Dictionary data, string key, string value) + private void AddIfPrefixed(Dictionary data, string key, string? value) { if (key.StartsWith(_prefix, StringComparison.OrdinalIgnoreCase)) { diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesConfigurationSource.cs b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesConfigurationSource.cs index f5ac7b87a4a46..66e941af7f9bf 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesConfigurationSource.cs +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesConfigurationSource.cs @@ -11,7 +11,7 @@ public class EnvironmentVariablesConfigurationSource : IConfigurationSource /// /// A prefix used to filter environment variables. /// - public string Prefix { get; set; } + public string? Prefix { get; set; } /// /// Builds the for this source. 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 c12fa852d9b76..705e46a675811 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 @@ -1,7 +1,8 @@ - netstandard2.0;net461 + $(NetCoreAppCurrent);netstandard2.0;net461 + enable true Environment variables configuration provider implementation for Microsoft.Extensions.Configuration. @@ -11,4 +12,10 @@ + + + + + + From 0b95fb5c64281400f0cc6e6e4c3dcfa9dd58d978 Mon Sep 17 00:00:00 2001 From: Maksym Koshovyi Date: Sun, 15 Aug 2021 10:33:37 +0300 Subject: [PATCH 2/5] Add net6 to parent projects --- ...icrosoft.Extensions.Configuration.Abstractions.csproj | 7 ++++++- ...icrosoft.Extensions.Configuration.Abstractions.csproj | 8 +++++++- .../ref/Microsoft.Extensions.Configuration.csproj | 8 +++++++- .../src/Microsoft.Extensions.Configuration.csproj | 9 ++++++++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Configuration.Abstractions/ref/Microsoft.Extensions.Configuration.Abstractions.csproj b/src/libraries/Microsoft.Extensions.Configuration.Abstractions/ref/Microsoft.Extensions.Configuration.Abstractions.csproj index d6b7d921c7a1e..6e440984e4a8f 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.Abstractions/ref/Microsoft.Extensions.Configuration.Abstractions.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.Abstractions/ref/Microsoft.Extensions.Configuration.Abstractions.csproj @@ -1,6 +1,6 @@ - netstandard2.0;net461 + $(NetCoreAppCurrent);netstandard2.0;net461 @@ -8,4 +8,9 @@ + + + + + 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 24cbc9380f00f..7a6e08ed66c2e 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 @@ -1,7 +1,7 @@ - netstandard2.0;net461 + $(NetCoreAppCurrent);netstandard2.0;net461 true Abstractions of key-value pair based configuration. @@ -21,4 +21,10 @@ Microsoft.Extensions.Configuration.IConfigurationSection + + + + + + diff --git a/src/libraries/Microsoft.Extensions.Configuration/ref/Microsoft.Extensions.Configuration.csproj b/src/libraries/Microsoft.Extensions.Configuration/ref/Microsoft.Extensions.Configuration.csproj index e1533c3eadf9e..f95d70cb8227e 100644 --- a/src/libraries/Microsoft.Extensions.Configuration/ref/Microsoft.Extensions.Configuration.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration/ref/Microsoft.Extensions.Configuration.csproj @@ -1,10 +1,16 @@ - netstandard2.0;net461 + $(NetCoreAppCurrent);netstandard2.0;net461 + + + + + + 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 62243f8db8537..76056af7e3dc7 100644 --- a/src/libraries/Microsoft.Extensions.Configuration/src/Microsoft.Extensions.Configuration.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration/src/Microsoft.Extensions.Configuration.csproj @@ -1,7 +1,7 @@ - netstandard2.0;net461 + $(NetCoreAppCurrent);netstandard2.0;net461 true Implementation of key-value pair based configuration for Microsoft.Extensions.Configuration. Includes the memory configuration provider. @@ -11,4 +11,11 @@ + + + + + + + From a201eb73744ad9012db51a60adc40b99bdf5b3f7 Mon Sep 17 00:00:00 2001 From: Maksym Koshovyi Date: Sun, 15 Aug 2021 10:52:01 +0300 Subject: [PATCH 3/5] Prefix can be null in AddEnvironmentVariables --- .../Microsoft.Extensions.Configuration.EnvironmentVariables.cs | 2 +- .../src/EnvironmentVariablesExtensions.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs index c08d1a0613df4..609f3b7797594 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs @@ -10,7 +10,7 @@ public static partial class EnvironmentVariablesExtensions { public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddEnvironmentVariables(this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder) { throw null; } public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddEnvironmentVariables(this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, System.Action configureSource) { throw null; } - public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddEnvironmentVariables(this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string prefix) { throw null; } + public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddEnvironmentVariables(this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string? prefix) { throw null; } } } namespace Microsoft.Extensions.Configuration.EnvironmentVariables diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesExtensions.cs b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesExtensions.cs index b43127513186f..f923804d424d4 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesExtensions.cs +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesExtensions.cs @@ -31,7 +31,7 @@ public static IConfigurationBuilder AddEnvironmentVariables(this IConfigurationB /// The . public static IConfigurationBuilder AddEnvironmentVariables( this IConfigurationBuilder configurationBuilder, - string prefix) + string? prefix) { configurationBuilder.Add(new EnvironmentVariablesConfigurationSource { Prefix = prefix }); return configurationBuilder; From 957a1e7dea348aed4367dd681e88fc76aa9a3609 Mon Sep 17 00:00:00 2001 From: Maksym Koshovyi Date: Fri, 27 Aug 2021 01:15:35 +0300 Subject: [PATCH 4/5] DisableImplicitAssemblyReferences --- ...t.Extensions.Configuration.EnvironmentVariables.csproj | 5 ++--- ...t.Extensions.Configuration.EnvironmentVariables.csproj | 8 ++------ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj index 2660c9c25aeb1..8bfb1aeb40df9 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj @@ -9,8 +9,7 @@ - - - + + 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 705e46a675811..33fb1eb425b61 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,6 +4,8 @@ $(NetCoreAppCurrent);netstandard2.0;net461 enable true + + false Environment variables configuration provider implementation for Microsoft.Extensions.Configuration. @@ -11,11 +13,5 @@ - - - - - - From c18cd95ba7f9d386470f1599053a1b9777289e52 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Thu, 18 Nov 2021 12:07:39 -0600 Subject: [PATCH 5/5] Address PR feedback - Add necessary TFMs - Make configureSource action nullable --- ...t.Extensions.Configuration.EnvironmentVariables.cs | 2 +- ...tensions.Configuration.EnvironmentVariables.csproj | 11 ++++++++--- .../src/EnvironmentVariablesExtensions.cs | 2 +- ...tensions.Configuration.EnvironmentVariables.csproj | 2 +- .../ref/Microsoft.Extensions.Configuration.csproj | 11 ++++++++--- .../src/Microsoft.Extensions.Configuration.csproj | 2 +- 6 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs index 609f3b7797594..6be0732e7d2f4 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.cs @@ -9,7 +9,7 @@ namespace Microsoft.Extensions.Configuration public static partial class EnvironmentVariablesExtensions { public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddEnvironmentVariables(this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder) { throw null; } - public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddEnvironmentVariables(this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, System.Action configureSource) { throw null; } + public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddEnvironmentVariables(this Microsoft.Extensions.Configuration.IConfigurationBuilder builder, System.Action? configureSource) { throw null; } public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddEnvironmentVariables(this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string? prefix) { throw null; } } } diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj index 9112120229f28..dfb3265e9954a 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/ref/Microsoft.Extensions.Configuration.EnvironmentVariables.csproj @@ -1,15 +1,20 @@ - $(NetCoreAppCurrent);netstandard2.0;$(NetFrameworkMinimum) + $(NetCoreAppCurrent);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) enable + - - + + + + + + diff --git a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesExtensions.cs b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesExtensions.cs index f923804d424d4..a5826a82a3a4c 100644 --- a/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesExtensions.cs +++ b/src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/src/EnvironmentVariablesExtensions.cs @@ -43,7 +43,7 @@ public static IConfigurationBuilder AddEnvironmentVariables( /// The to add to. /// Configures the source. /// The . - public static IConfigurationBuilder AddEnvironmentVariables(this IConfigurationBuilder builder, Action configureSource) + public static IConfigurationBuilder AddEnvironmentVariables(this IConfigurationBuilder builder, Action? configureSource) => builder.Add(configureSource); } } 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 0fdc4611cf7fd..a9563d05f3346 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 @@ -1,7 +1,7 @@ - $(NetCoreAppCurrent);netstandard2.0;$(NetFrameworkMinimum) + $(NetCoreAppCurrent);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) enable true diff --git a/src/libraries/Microsoft.Extensions.Configuration/ref/Microsoft.Extensions.Configuration.csproj b/src/libraries/Microsoft.Extensions.Configuration/ref/Microsoft.Extensions.Configuration.csproj index 0ab0a2842d718..024ad14e46f7d 100644 --- a/src/libraries/Microsoft.Extensions.Configuration/ref/Microsoft.Extensions.Configuration.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration/ref/Microsoft.Extensions.Configuration.csproj @@ -1,15 +1,20 @@ - $(NetCoreAppCurrent);netstandard2.0;$(NetFrameworkMinimum) + $(NetCoreAppCurrent);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) enable + - - + + + + + + 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 10fd1c6acdcb6..f114bd7c04c31 100644 --- a/src/libraries/Microsoft.Extensions.Configuration/src/Microsoft.Extensions.Configuration.csproj +++ b/src/libraries/Microsoft.Extensions.Configuration/src/Microsoft.Extensions.Configuration.csproj @@ -1,7 +1,7 @@ - $(NetCoreAppCurrent);netstandard2.0;$(NetFrameworkMinimum) + $(NetCoreAppCurrent);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum) enable true