<PortedExtensionsProject Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Configuration.Binder\**\*csproj" />
<PortedExtensionsProject Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Configuration.CommandLine\**\*csproj" />
<PortedExtensionsProject Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Configuration.EnvironmentVariables\**\*csproj" />
+ <PortedExtensionsProject Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Configuration.FileExtensions\**\*csproj" />
+ <PortedExtensionsProject Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Configuration.Ini\**\*csproj" />
<PortedExtensionsProject Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.DependencyInjection.Abstractions\**\*csproj" />
<PortedExtensionsProject Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.FileProviders.*\**\*csproj" />
<PortedExtensionsProject Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.FileSystemGlobbing\**\*csproj" />
--- /dev/null
+<Project DefaultTargets="Build">
+ <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props))" />
+ <ItemGroup>
+ <ProjectReference Include="..\src\Microsoft.Extensions.Configuration.FileExtensions.csproj">
+ <SupportedFramework>net461;netcoreapp2.0;uap10.0.16299;$(AllXamarinFrameworks)</SupportedFramework>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.targets))" />
+</Project>
\ No newline at end of file
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the https://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
namespace Microsoft.Extensions.Configuration
{
public abstract partial class FileConfigurationProvider : Microsoft.Extensions.Configuration.ConfigurationProvider, System.IDisposable
{
public FileConfigurationProvider(Microsoft.Extensions.Configuration.FileConfigurationSource source) { }
- public Microsoft.Extensions.Configuration.FileConfigurationSource Source { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } }
+ public Microsoft.Extensions.Configuration.FileConfigurationSource Source { get { throw null; } }
public void Dispose() { }
protected virtual void Dispose(bool disposing) { }
public override void Load() { }
public abstract partial class FileConfigurationSource : Microsoft.Extensions.Configuration.IConfigurationSource
{
protected FileConfigurationSource() { }
- public Microsoft.Extensions.FileProviders.IFileProvider FileProvider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public System.Action<Microsoft.Extensions.Configuration.FileLoadExceptionContext> OnLoadException { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public bool Optional { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public string Path { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public int ReloadDelay { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public bool ReloadOnChange { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
+ public Microsoft.Extensions.FileProviders.IFileProvider FileProvider { get { throw null; } set { } }
+ public System.Action<Microsoft.Extensions.Configuration.FileLoadExceptionContext> OnLoadException { get { throw null; } set { } }
+ public bool Optional { get { throw null; } set { } }
+ public string Path { get { throw null; } set { } }
+ public int ReloadDelay { get { throw null; } set { } }
+ public bool ReloadOnChange { get { throw null; } set { } }
public abstract Microsoft.Extensions.Configuration.IConfigurationProvider Build(Microsoft.Extensions.Configuration.IConfigurationBuilder builder);
public void EnsureDefaults(Microsoft.Extensions.Configuration.IConfigurationBuilder builder) { }
public void ResolveFileProvider() { }
public partial class FileLoadExceptionContext
{
public FileLoadExceptionContext() { }
- public System.Exception Exception { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public bool Ignore { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
- public Microsoft.Extensions.Configuration.FileConfigurationProvider Provider { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
+ public System.Exception Exception { get { throw null; } set { } }
+ public bool Ignore { get { throw null; } set { } }
+ public Microsoft.Extensions.Configuration.FileConfigurationProvider Provider { get { throw null; } set { } }
}
}
</PropertyGroup>
<ItemGroup>
<Compile Include="Microsoft.Extensions.Configuration.FileExtensions.cs" />
- <Reference Include="Microsoft.Extensions.Configuration" />
- <Reference Include="Microsoft.Extensions.FileProviders.Physical" />
+ <ProjectReference Include="..\..\Microsoft.Extensions.Configuration\ref\Microsoft.Extensions.Configuration.csproj" />
+ <ProjectReference Include="..\..\Microsoft.Extensions.Configuration.Abstractions\ref\Microsoft.Extensions.Configuration.Abstractions.csproj" />
+ <ProjectReference Include="..\..\Microsoft.Extensions.FileProviders.Abstractions\ref\Microsoft.Extensions.FileProviders.Abstractions.csproj" />
+ <ProjectReference Include="..\..\Microsoft.Extensions.FileProviders.Physical\ref\Microsoft.Extensions.FileProviders.Physical.csproj" />
</ItemGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFrameworks>netstandard2.0;$(DefaultNetCoreTargetFramework)</TargetFrameworks>
- <TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefaultNetCoreTargetFramework)</TargetFrameworks>
+ <TargetFrameworks>netstandard2.0</TargetFrameworks>
+ <EnableDefaultItems>true</EnableDefaultItems>
</PropertyGroup>
<ItemGroup>
- <InternalsVisibleTo Include="Microsoft.Extensions.Configuration.FileExtensions.Tests" />
- </ItemGroup>
-
- <ItemGroup>
<Reference Include="Microsoft.Extensions.Configuration" />
+ <Reference Include="Microsoft.Extensions.Configuration.Abstractions" />
+ <Reference Include="Microsoft.Extensions.FileProviders.Abstractions" />
<Reference Include="Microsoft.Extensions.FileProviders.Physical" />
+ <Reference Include="Microsoft.Extensions.Primitives" />
</ItemGroup>
</Project>
--- /dev/null
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Runtime.CompilerServices;
+
+[assembly: InternalsVisibleTo("Microsoft.Extensions.Configuration.FileExtensions.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")]
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetFrameworkCurrent)</TargetFrameworks>
+ <EnableDefaultItems>true</EnableDefaultItems>
</PropertyGroup>
<ItemGroup>
- <ProjectReference Include="..\..\Config\test\Microsoft.Extensions.Configuration.Tests.csproj" />
+ <Compile Include="$(LibrariesProjectRoot)Microsoft.Extensions.Configuration\tests\ConfigurationRootTest.cs">
+ <Link>Microsoft.Extensions.Configuration\tests\ConfigurationRootTest.cs</Link>
+ </Compile>
</ItemGroup>
<ItemGroup>
- <Reference Include="Microsoft.Extensions.Configuration.Abstractions" />
- <Reference Include="Microsoft.Extensions.Configuration.FileExtensions" />
- <Reference Include="Microsoft.Extensions.Configuration" />
- <Reference Include="Microsoft.Extensions.FileProviders.Abstractions" />
- <Reference Include="Microsoft.Extensions.FileProviders.Physical" />
- <Reference Include="Microsoft.Extensions.Primitives" />
+ <PackageReference Include="Moq" Version="$(MoqVersion)" />
</ItemGroup>
</Project>
--- /dev/null
+<Project DefaultTargets="Build">
+ <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props))" />
+ <ItemGroup>
+ <ProjectReference Include="..\src\Microsoft.Extensions.Configuration.Ini.csproj">
+ <SupportedFramework>net461;netcoreapp2.0;uap10.0.16299;$(AllXamarinFrameworks)</SupportedFramework>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.targets))" />
+</Project>
\ No newline at end of file
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the https://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
namespace Microsoft.Extensions.Configuration
{
</PropertyGroup>
<ItemGroup>
<Compile Include="Microsoft.Extensions.Configuration.Ini.cs" />
- <Reference Include="Microsoft.Extensions.Configuration" />
- <Reference Include="Microsoft.Extensions.Configuration.FileExtensions" />
+ <ProjectReference Include="..\..\Microsoft.Extensions.Configuration\ref\Microsoft.Extensions.Configuration.csproj" />
+ <ProjectReference Include="..\..\Microsoft.Extensions.Configuration.Abstractions\ref\Microsoft.Extensions.Configuration.Abstractions.csproj" />
+ <ProjectReference Include="..\..\Microsoft.Extensions.Configuration.FileExtensions\ref\Microsoft.Extensions.Configuration.FileExtensions.csproj" />
+ <ProjectReference Include="..\..\Microsoft.Extensions.FileProviders.Abstractions\ref\Microsoft.Extensions.FileProviders.Abstractions.csproj" />
</ItemGroup>
</Project>
}
if (string.IsNullOrEmpty(path))
{
- throw new ArgumentException(Resources.Error_InvalidFilePath, nameof(path));
+ throw new ArgumentException(SR.Error_InvalidFilePath, nameof(path));
}
return builder.AddIniFile(s =>
int separator = line.IndexOf('=');
if (separator < 0)
{
- throw new FormatException(Resources.FormatError_UnrecognizedLineFormat(rawLine));
+ throw new FormatException(SR.Format(SR.Error_UnrecognizedLineFormat, rawLine));
}
string key = sectionPrefix + line.Substring(0, separator).Trim();
if (data.ContainsKey(key))
{
- throw new FormatException(Resources.FormatError_KeyIsDuplicated(key));
+ throw new FormatException(SR.Format(SR.Error_KeyIsDuplicated, key));
}
data[key] = value;
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFrameworks>netstandard2.0;$(DefaultNetCoreTargetFramework)</TargetFrameworks>
- <TargetFrameworks Condition="'$(DotNetBuildFromSource)' == 'true'">$(DefaultNetCoreTargetFramework)</TargetFrameworks>
+ <TargetFrameworks>netstandard2.0</TargetFrameworks>
+ <EnableDefaultItems>true</EnableDefaultItems>
</PropertyGroup>
<ItemGroup>
- <InternalsVisibleTo Include="Microsoft.Extensions.Configuration.Ini.Tests" />
- </ItemGroup>
-
- <ItemGroup>
<Reference Include="Microsoft.Extensions.Configuration" />
+ <Reference Include="Microsoft.Extensions.Configuration.Abstractions" />
<Reference Include="Microsoft.Extensions.Configuration.FileExtensions" />
+ <Reference Include="Microsoft.Extensions.FileProviders.Abstractions" />
</ItemGroup>
</Project>
--- /dev/null
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.Runtime.CompilerServices;
+
+[assembly: InternalsVisibleTo("Microsoft.Extensions.Configuration.Ini.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001004b86c4cb78549b34bab61a3b1800e23bfeb5b3ec390074041536a7e3cbd97f5f04cf0f857155a8928eaa29ebfd11cfbbad3ba70efea7bda3226c6a8d370a4cd303f714486b6ebc225985a638471e6ef571cc92a4613c00b8fa65d61ccee0cbe5f36330c9a01f4183559f1bef24cc2917c6d913e3a541333a1d05d9bed22b38cb")]
ConnectionString
";
var iniConfigSrc = new IniConfigurationProvider(new IniConfigurationSource());
- var expectedMsg = Resources.FormatError_UnrecognizedLineFormat("ConnectionString");
+ var expectedMsg = SR.Format(SR.Error_UnrecognizedLineFormat, "ConnectionString");
var exception = Assert.Throws<FormatException>(() => iniConfigSrc.Load(TestStreamHelpers.StringToStream(ini)));
DefaultConnection=TestConnectionString
";
var iniConfigSrc = new IniConfigurationProvider(new IniConfigurationSource());
- var expectedMsg = Resources.FormatError_UnrecognizedLineFormat("[ConnectionString");
+ var expectedMsg = SR.Format(SR.Error_UnrecognizedLineFormat, "[ConnectionString");
var exception = Assert.Throws<FormatException>(() => iniConfigSrc.Load(TestStreamHelpers.StringToStream(ini)));
[Fact]
public void ThrowExceptionWhenPassingNullAsFilePath()
{
- var expectedMsg = new ArgumentException(Resources.Error_InvalidFilePath, "path").Message;
+ var expectedMsg = new ArgumentException(SR.Error_InvalidFilePath, "path").Message;
var exception = Assert.Throws<ArgumentException>(() => new ConfigurationBuilder().AddIniFile(path: null));
[Fact]
public void ThrowExceptionWhenPassingEmptyStringAsFilePath()
{
- var expectedMsg = new ArgumentException(Resources.Error_InvalidFilePath, "path").Message;
+ var expectedMsg = new ArgumentException(SR.Error_InvalidFilePath, "path").Message;
var exception = Assert.Throws<ArgumentException>(() => new ConfigurationBuilder().AddIniFile(string.Empty));
Provider=MySql
";
var iniConfigSrc = new IniConfigurationProvider(new IniConfigurationSource());
- var expectedMsg = Resources.FormatError_KeyIsDuplicated("Data:DefaultConnection:ConnectionString");
+ var expectedMsg = SR.Format(SR.Error_KeyIsDuplicated, "Data:DefaultConnection:ConnectionString");
var exception = Assert.Throws<FormatException>(() => iniConfigSrc.Load(TestStreamHelpers.StringToStream(ini)));
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetFrameworkCurrent)</TargetFrameworks>
+ <EnableDefaultItems>true</EnableDefaultItems>
</PropertyGroup>
<ItemGroup>
- <ProjectReference Include="..\..\Config\test\Microsoft.Extensions.Configuration.Tests.csproj" />
- <ProjectReference Include="..\..\testassets\Test.Common\Microsoft.Extensions.Configuration.Test.Common.csproj" />
+ <Compile Include="$(LibrariesProjectRoot)Microsoft.Extensions.Configuration\tests\ConfigurationProviderTestBase.cs">
+ <Link>Microsoft.Extensions.Configuration\tests\ConfigurationProviderTestBase.cs</Link>
+ </Compile>
+ <Compile Include="$(LibrariesProjectRoot)Microsoft.Extensions.Configuration\tests\Common\ConfigurationProviderExtensions.cs">
+ <Link>Microsoft.Extensions.Configuration\tests\Common\ConfigurationProviderExtensions.cs</Link>
+ </Compile>
+ <Compile Include="$(LibrariesProjectRoot)Microsoft.Extensions.Configuration\tests\Common\TestStreamHelpers.cs">
+ <Link>Microsoft.Extensions.Configuration\tests\Common\TestStreamHelpers.cs</Link>
+ </Compile>
</ItemGroup>
<ItemGroup>
- <Reference Include="Microsoft.Extensions.Configuration.Abstractions" />
- <Reference Include="Microsoft.Extensions.Configuration.FileExtensions" />
- <Reference Include="Microsoft.Extensions.Configuration.Ini" />
- <Reference Include="Microsoft.Extensions.Configuration" />
- <Reference Include="Microsoft.Extensions.FileProviders.Abstractions" />
- <Reference Include="Microsoft.Extensions.FileProviders.Physical" />
+ <ReferenceFromRuntime Include="Microsoft.Extensions.Configuration.Ini" />
</ItemGroup>
</Project>
"5.0.0.0": "5.0.0"
}
},
+ "Microsoft.Extensions.Configuration.FileExtensions": {
+ "StableVersions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2",
+ "3.0.3",
+ "3.1.0",
+ "3.1.1",
+ "3.1.2"
+ ],
+ "InboxOn": {},
+ "AssemblyVersionInPackageVersion": {
+ "5.0.0.0": "5.0.0"
+ }
+ },
+ "Microsoft.Extensions.Configuration.Ini": {
+ "StableVersions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2",
+ "3.0.3",
+ "3.1.0",
+ "3.1.1",
+ "3.1.2"
+ ],
+ "InboxOn": {},
+ "AssemblyVersionInPackageVersion": {
+ "5.0.0.0": "5.0.0"
+ }
+ },
"Microsoft.Extensions.DependencyInjection": {
"StableVersions": [
"1.0.0",