├── .editorconfig
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
└── pull_request_template.md
├── .gitignore
├── CONTRIBUTING.md
├── Directory.Build.targets
├── Extensions.sln
├── HttpClientFactoryLite.sln
├── LICENSE.txt
├── NuGet.config
├── README.md
├── azure-pipelines.yml
├── build.cmd
├── build.ps1
├── build.sh
├── build
├── repo.props
└── repo.targets
├── docs
├── build-from-source.md
├── daily-builds.md
└── preparing-patch-updates.md
├── eng
├── AspNetCore.snk
├── Baseline.Designer.props
├── Baseline.xml
├── Dependencies.props
├── NuGetPackageVerifier.json
├── PatchConfig.props
├── ProdConPublish.csproj
├── ProjectReferences.props
├── Sources.props
├── scripts
│ ├── KillProcesses.ps1
│ ├── KillProcesses.sh
│ ├── UpdateDependencies.ps1
│ └── common.psm1
├── targets
│ ├── Packaging.targets
│ └── ResolveReferences.targets
├── templates
│ └── default-build.yml
└── tools
│ ├── BaselineGenerator
│ ├── BaselineGenerator.csproj
│ ├── Program.cs
│ └── README.md
│ ├── Directory.Build.props
│ ├── Directory.Build.targets
│ └── tools.sln
├── korebuild-lock.txt
├── korebuild.json
├── src
├── Caching
│ ├── Abstractions
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── CacheEntryExtensions.cs
│ │ │ ├── CacheItemPriority.cs
│ │ │ ├── DistributedCacheEntryExtensions.cs
│ │ │ ├── DistributedCacheEntryOptions.cs
│ │ │ ├── DistributedCacheExtensions.cs
│ │ │ ├── EvictionReason.cs
│ │ │ ├── ICacheEntry.cs
│ │ │ ├── IDistributedCache.cs
│ │ │ ├── IMemoryCache.cs
│ │ │ ├── Internal
│ │ │ ├── ISystemClock.cs
│ │ │ └── SystemClock.cs
│ │ │ ├── MemoryCacheEntryExtensions.cs
│ │ │ ├── MemoryCacheEntryOptions.cs
│ │ │ ├── MemoryCacheExtensions.cs
│ │ │ ├── Microsoft.Extensions.Caching.Abstractions.csproj
│ │ │ ├── PostEvictionCallbackRegistration.cs
│ │ │ ├── PostEvictionDelegate.cs
│ │ │ └── baseline.netcore.json
│ ├── Memory
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── CacheEntry.cs
│ │ │ ├── CacheEntryHelper.cs
│ │ │ ├── CacheEntryStack.cs
│ │ │ ├── MemoryCache.cs
│ │ │ ├── MemoryCacheOptions.cs
│ │ │ ├── MemoryCacheServiceCollectionExtensions.cs
│ │ │ ├── MemoryDistributedCache.cs
│ │ │ ├── MemoryDistributedCacheOptions.cs
│ │ │ ├── Microsoft.Extensions.Caching.Memory.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── CacheEntryScopeExpirationTests.cs
│ │ │ ├── CacheServiceExtensionsTests.cs
│ │ │ ├── CapacityTests.cs
│ │ │ ├── CompactTests.cs
│ │ │ ├── Infrastructure
│ │ │ ├── TestClock.cs
│ │ │ ├── TestExpirationToken.cs
│ │ │ └── TokenCallbackRegistration.cs
│ │ │ ├── MemoryCacheSetAndRemoveTests.cs
│ │ │ ├── Microsoft.Extensions.Caching.Memory.Tests.csproj
│ │ │ ├── TimeExpirationTests.cs
│ │ │ └── TokenExpirationTests.cs
│ ├── README.md
│ ├── Redis
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── Microsoft.Extensions.Caching.Redis.csproj
│ │ │ ├── RedisCache.cs
│ │ │ ├── RedisCacheOptions.cs
│ │ │ ├── RedisCacheServiceCollectionExtensions.cs
│ │ │ ├── RedisExtensions.cs
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── CacheServiceExtensionsTests.cs
│ │ │ ├── Infrastructure
│ │ │ ├── RedisTestConfig.cs
│ │ │ ├── RedisXunitTestExecutor.cs
│ │ │ └── RedisXunitTestFramework.cs
│ │ │ ├── Microsoft.Extensions.Caching.Redis.Tests.csproj
│ │ │ ├── RedisCacheSetAndRemoveTests.cs
│ │ │ └── TimeExpirationTests.cs
│ ├── SqlServer
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── Columns.cs
│ │ │ ├── DatabaseOperations.cs
│ │ │ ├── IDatabaseOperations.cs
│ │ │ ├── Microsoft.Extensions.Caching.SqlServer.csproj
│ │ │ ├── MonoDatabaseOperations.cs
│ │ │ ├── MonoSqlParameterCollectionExtensions.cs
│ │ │ ├── PlatformHelper.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── SqlParameterCollectionExtensions.cs
│ │ │ ├── SqlQueries.cs
│ │ │ ├── SqlServerCache.cs
│ │ │ ├── SqlServerCacheOptions.cs
│ │ │ ├── SqlServerCacheServiceCollectionExtensions.cs
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── CacheItemInfo.cs
│ │ │ ├── Microsoft.Extensions.Caching.SqlServer.Tests.csproj
│ │ │ ├── SqlServerCacheServicesExtensionsTest.cs
│ │ │ ├── SqlServerCacheWithDatabaseTest.cs
│ │ │ ├── TestClock.cs
│ │ │ ├── TestOptions.cs
│ │ │ └── config.json
│ ├── StackExchangeRedis
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── Microsoft.Extensions.Caching.StackExchangeRedis.csproj
│ │ │ ├── RedisCache.cs
│ │ │ ├── RedisCacheOptions.cs
│ │ │ ├── RedisExtensions.cs
│ │ │ └── StackExchangeRedisCacheServiceCollectionExtensions.cs
│ │ └── test
│ │ │ ├── CacheServiceExtensionsTests.cs
│ │ │ ├── Infrastructure
│ │ │ ├── RedisTestConfig.cs
│ │ │ ├── RedisXunitTestExecutor.cs
│ │ │ └── RedisXunitTestFramework.cs
│ │ │ ├── Microsoft.Extensions.Caching.StackExchangeRedis.Tests.csproj
│ │ │ ├── RedisCacheSetAndRemoveTests.cs
│ │ │ └── TimeExpirationTests.cs
│ └── samples
│ │ ├── MemoryCacheConcurencySample
│ │ ├── MemoryCacheConcurencySample.csproj
│ │ └── Program.cs
│ │ ├── MemoryCacheFileWatchSample
│ │ ├── MemoryCacheFileWatchSample.csproj
│ │ ├── Program.cs
│ │ └── WatchedFiles
│ │ │ └── example.txt
│ │ ├── MemoryCacheSample
│ │ ├── MemoryCacheSample.csproj
│ │ ├── MemoryCacheWeakReferenceExtensions.cs
│ │ ├── Program.cs
│ │ └── WeakToken.cs
│ │ ├── ProfilingSample
│ │ ├── ProfilingSample.csproj
│ │ └── Program.cs
│ │ ├── RedisCacheSample
│ │ ├── Program.cs
│ │ └── RedisCacheSample.csproj
│ │ ├── SqlServerCacheConcurencySample
│ │ ├── Program.cs
│ │ ├── SqlServerCacheConcurencySample.csproj
│ │ └── config.json
│ │ └── SqlServerCacheSample
│ │ ├── Program.cs
│ │ ├── SqlServerCacheSample.csproj
│ │ └── config.json
├── Configuration
│ ├── Config.Abstractions
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── ConfigurationExtensions.cs
│ │ │ ├── ConfigurationPath.cs
│ │ │ ├── IConfiguration.cs
│ │ │ ├── IConfigurationBuilder.cs
│ │ │ ├── IConfigurationProvider.cs
│ │ │ ├── IConfigurationRoot.cs
│ │ │ ├── IConfigurationSection.cs
│ │ │ ├── IConfigurationSource.cs
│ │ │ ├── Microsoft.Extensions.Configuration.Abstractions.csproj
│ │ │ └── baseline.netcore.json
│ ├── Config.AzureKeyVault
│ │ ├── Directory.Build.props
│ │ ├── samples
│ │ │ ├── EnvironmentSecretManager.cs
│ │ │ ├── KeyVaultSample.csproj
│ │ │ ├── Program.cs
│ │ │ └── settings.json
│ │ ├── src
│ │ │ ├── AzureKeyVaultConfigurationExtensions.cs
│ │ │ ├── AzureKeyVaultConfigurationProvider.cs
│ │ │ ├── AzureKeyVaultConfigurationSource.cs
│ │ │ ├── DefaultKeyVaultSecretManager.cs
│ │ │ ├── IKeyVaultClient.cs
│ │ │ ├── IKeyVaultSecretManager.cs
│ │ │ ├── KeyVaultClientWrapper.cs
│ │ │ ├── Microsoft.Extensions.Configuration.AzureKeyVault.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── AzureKeyVaultConfigurationTest.cs
│ │ │ └── Microsoft.Extensions.Configuration.AzureKeyVault.Tests.csproj
│ ├── Config.Binder
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── BinderOptions.cs
│ │ │ ├── ConfigurationBinder.cs
│ │ │ ├── Microsoft.Extensions.Configuration.Binder.csproj
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── ConfigurationBinderTests.cs
│ │ │ ├── ConfigurationCollectionBindingTests.cs
│ │ │ └── Microsoft.Extensions.Configuration.Binder.Tests.csproj
│ ├── Config.CommandLine
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── CommandLineConfigurationExtensions.cs
│ │ │ ├── CommandLineConfigurationProvider.cs
│ │ │ ├── CommandLineConfigurationSource.cs
│ │ │ ├── Microsoft.Extensions.Configuration.CommandLine.csproj
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── CommandLineTest.cs
│ │ │ └── Microsoft.Extensions.Configuration.CommandLine.Tests.csproj
│ ├── Config.EnvironmentVariables
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── EnvironmentVariablesConfigurationProvider.cs
│ │ │ ├── EnvironmentVariablesConfigurationSource.cs
│ │ │ ├── EnvironmentVariablesExtensions.cs
│ │ │ ├── Microsoft.Extensions.Configuration.EnvironmentVariables.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── EnvironmentVariablesTest.cs
│ │ │ └── Microsoft.Extensions.Configuration.EnvironmentVariables.Tests.csproj
│ ├── Config.FileExtensions
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── FileConfigurationExtensions.cs
│ │ │ ├── FileConfigurationProvider.cs
│ │ │ ├── FileConfigurationSource.cs
│ │ │ ├── FileLoadExceptionContext.cs
│ │ │ ├── Microsoft.Extensions.Configuration.FileExtensions.csproj
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── FileConfigurationBuilderExtensionsTest.cs
│ │ │ └── Microsoft.Extensions.Configuration.FileExtensions.Tests.csproj
│ ├── Config.Ini
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── IniConfigurationExtensions.cs
│ │ │ ├── IniConfigurationProvider.cs
│ │ │ ├── IniConfigurationSource.cs
│ │ │ ├── Microsoft.Extensions.Configuration.Ini.csproj
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── IniConfigurationExtensionsTest.cs
│ │ │ ├── IniConfigurationTest.cs
│ │ │ └── Microsoft.Extensions.Configuration.Ini.Tests.csproj
│ ├── Config.Json
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── JsonConfigurationExtensions.cs
│ │ │ ├── JsonConfigurationFileParser.cs
│ │ │ ├── JsonConfigurationProvider.cs
│ │ │ ├── JsonConfigurationSource.cs
│ │ │ ├── Microsoft.Extensions.Configuration.Json.csproj
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── ArrayTest.cs
│ │ │ ├── JsonConfigurationExtensionsTest.cs
│ │ │ ├── JsonConfigurationTest.cs
│ │ │ └── Microsoft.Extensions.Configuration.Json.Tests.csproj
│ ├── Config.KeyPerFile
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── KeyPerFileConfigurationBuilderExtensions.cs
│ │ │ ├── KeyPerFileConfigurationProvider.cs
│ │ │ ├── KeyPerFileConfigurationSource.cs
│ │ │ ├── Microsoft.Extensions.Configuration.KeyPerFile.csproj
│ │ │ └── README.md
│ │ └── test
│ │ │ ├── KeyPerFileTests.cs
│ │ │ └── Microsoft.Extensions.Configuration.KeyPerFile.Tests.csproj
│ ├── Config.UserSecrets
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── Microsoft.Extensions.Configuration.UserSecrets.csproj
│ │ │ ├── PathHelper.cs
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── UserSecretsConfigurationExtensions.cs
│ │ │ ├── UserSecretsIdAttribute.cs
│ │ │ ├── baseline.netcore.json
│ │ │ └── build
│ │ │ │ └── netstandard2.0
│ │ │ │ ├── Microsoft.Extensions.Configuration.UserSecrets.props
│ │ │ │ └── Microsoft.Extensions.Configuration.UserSecrets.targets
│ │ └── test
│ │ │ ├── ConfigurationExtensionTest.cs
│ │ │ ├── Microsoft.Extensions.Configuration.UserSecrets.Tests.csproj
│ │ │ ├── MsBuildTargetTest.cs
│ │ │ └── PathHelperTest.cs
│ ├── Config.Xml
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── Microsoft.Extensions.Configuration.Xml.csproj
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── XmlConfigurationExtensions.cs
│ │ │ ├── XmlConfigurationProvider.cs
│ │ │ ├── XmlConfigurationSource.cs
│ │ │ ├── XmlDocumentDecryptor.cs
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── Microsoft.Extensions.Configuration.Xml.Tests.csproj
│ │ │ ├── XmlConfigurationExtensionsTest.cs
│ │ │ └── XmlConfigurationTest.cs
│ ├── Config
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── ChainedBuilderExtensions.cs
│ │ │ ├── ChainedConfigurationProvider.cs
│ │ │ ├── ChainedConfigurationSource.cs
│ │ │ ├── ConfigurationBuilder.cs
│ │ │ ├── ConfigurationKeyComparer.cs
│ │ │ ├── ConfigurationProvider.cs
│ │ │ ├── ConfigurationReloadToken.cs
│ │ │ ├── ConfigurationRoot.cs
│ │ │ ├── ConfigurationSection.cs
│ │ │ ├── MemoryConfigurationBuilderExtensions.cs
│ │ │ ├── MemoryConfigurationProvider.cs
│ │ │ ├── MemoryConfigurationSource.cs
│ │ │ ├── Microsoft.Extensions.Configuration.csproj
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── ConfigurationPathComparerTest.cs
│ │ │ ├── ConfigurationPathTest.cs
│ │ │ ├── ConfigurationTest.cs
│ │ │ └── Microsoft.Extensions.Configuration.Tests.csproj
│ ├── Directory.Build.props
│ ├── README.md
│ └── test
│ │ ├── Config.FunctionalTests
│ │ ├── ArrayTests.cs
│ │ ├── ConfigurationTests.cs
│ │ ├── DisposableFileSystem.cs
│ │ ├── Microsoft.Extensions.Configuration.FunctionalTests.csproj
│ │ └── test.xml
│ │ └── Config.Test.Common
│ │ ├── ConfigurationProviderExtensions.cs
│ │ ├── Microsoft.Extensions.Configuration.Test.Common.csproj
│ │ └── TestStreamHelpers.cs
├── DependencyInjection
│ ├── DI.Abstractions
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── Extensions
│ │ │ └── ServiceCollectionDescriptorExtensions.cs
│ │ │ ├── IServiceCollection.cs
│ │ │ ├── IServiceProviderFactory.cs
│ │ │ ├── IServiceScope.cs
│ │ │ ├── IServiceScopeFactory.cs
│ │ │ ├── ISupportRequiredService.cs
│ │ │ ├── Microsoft.Extensions.DependencyInjection.Abstractions.csproj
│ │ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── ServiceCollectionServiceExtensions.cs
│ │ │ ├── ServiceDescriptor.cs
│ │ │ ├── ServiceLifetime.cs
│ │ │ ├── ServiceProviderServiceExtensions.cs
│ │ │ └── baseline.netcore.json
│ ├── DI.Specification.Tests
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── ActivatorUtilitiesTests.cs
│ │ │ ├── DependencyInjectionSpecificationTests.cs
│ │ │ ├── Fakes
│ │ │ ├── AnotherClass.cs
│ │ │ ├── AnotherClassAcceptingData.cs
│ │ │ ├── ClassWithAmbiguousCtors.cs
│ │ │ ├── ClassWithAmbiguousCtorsAndAttribute.cs
│ │ │ ├── ClassWithInternalConstructor.cs
│ │ │ ├── ClassWithMultipleMarkedCtors.cs
│ │ │ ├── ClassWithNestedReferencesToProvider.cs
│ │ │ ├── ClassWithOptionalArgsCtor.cs
│ │ │ ├── ClassWithOptionalArgsCtorWithStructs.cs
│ │ │ ├── ClassWithPrivateCtor.cs
│ │ │ ├── ClassWithProtectedConstructor.cs
│ │ │ ├── ClassWithStaticCtor.cs
│ │ │ ├── ClassWithThrowingCtor.cs
│ │ │ ├── ClassWithThrowingEmptyCtor.cs
│ │ │ ├── CreationCountFakeService.cs
│ │ │ ├── FakeDisposableCallbackInnerService.cs
│ │ │ ├── FakeDisposableCallbackOuterService.cs
│ │ │ ├── FakeDisposableCallbackService.cs
│ │ │ ├── FakeDisposeCallback.cs
│ │ │ ├── FakeOneMultipleService.cs
│ │ │ ├── FakeOpenGenericService.cs
│ │ │ ├── FakeOuterService.cs
│ │ │ ├── FakeService.cs
│ │ │ ├── FakeTwoMultipleService.cs
│ │ │ ├── IFactoryService.cs
│ │ │ ├── IFakeEveryService.cs
│ │ │ ├── IFakeMultipleService.cs
│ │ │ ├── IFakeOpenGenericService.cs
│ │ │ ├── IFakeOuterService.cs
│ │ │ ├── IFakeScopedService.cs
│ │ │ ├── IFakeService.cs
│ │ │ ├── IFakeServiceInstance.cs
│ │ │ ├── IFakeSingletonService.cs
│ │ │ ├── INonexistentService.cs
│ │ │ ├── PocoClass.cs
│ │ │ ├── ScopedFactoryService.cs
│ │ │ ├── ServiceAcceptingFactoryService.cs
│ │ │ ├── TransientFactoryService.cs
│ │ │ └── TypeWithSupersetConstructors.cs
│ │ │ ├── Microsoft.Extensions.DependencyInjection.Specification.Tests.csproj
│ │ │ ├── ServiceCollection.cs
│ │ │ └── baseline.netcore.json
│ ├── DI
│ │ ├── Directory.Build.props
│ │ ├── perf
│ │ │ ├── ActivatorUtilitiesBenchmark.cs
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── GetServiceBenchmark.cs
│ │ │ ├── Microsoft.Extensions.DependencyInjection.Performance.csproj
│ │ │ ├── ScopeValidationBenchmark.cs
│ │ │ └── TimeToFirstServiceBenchmark.cs
│ │ ├── src
│ │ │ ├── DefaultServiceProviderFactory.cs
│ │ │ ├── Microsoft.Extensions.DependencyInjection.csproj
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── ServiceCollection.cs
│ │ │ ├── ServiceCollectionContainerBuilderExtensions.cs
│ │ │ ├── ServiceLookup
│ │ │ │ ├── CallSiteChain.cs
│ │ │ │ ├── CallSiteExpressionBuilderContext.cs
│ │ │ │ ├── CallSiteFactory.cs
│ │ │ │ ├── CallSiteKind.cs
│ │ │ │ ├── CallSiteRuntimeResolver.cs
│ │ │ │ ├── CallSiteValidator.cs
│ │ │ │ ├── CallSiteVisitor.cs
│ │ │ │ ├── CompiledServiceProviderEngine.cs
│ │ │ │ ├── ConstantCallSite.cs
│ │ │ │ ├── ConstructorCallSite.cs
│ │ │ │ ├── CreateInstanceCallSite.cs
│ │ │ │ ├── DynamicServiceProviderEngine.cs
│ │ │ │ ├── Expressions
│ │ │ │ │ ├── ExpressionResolverBuilder.cs
│ │ │ │ │ └── ExpressionsServiceProviderEngine.cs
│ │ │ │ ├── FactoryCallSite.cs
│ │ │ │ ├── IEnumerableCallSite.cs
│ │ │ │ ├── ILEmit
│ │ │ │ │ ├── ILEmitCallSiteAnalysisResult.cs
│ │ │ │ │ ├── ILEmitCallSiteAnalyzer.cs
│ │ │ │ │ ├── ILEmitResolverBuilder.cs
│ │ │ │ │ ├── ILEmitResolverBuilderContext.cs
│ │ │ │ │ └── ILEmitServiceProviderEngine.cs
│ │ │ │ ├── IServiceCallSite.cs
│ │ │ │ ├── IServiceProviderEngine.cs
│ │ │ │ ├── IServiceProviderEngineCallback.cs
│ │ │ │ ├── RuntimeServiceProviderEngine.cs
│ │ │ │ ├── ScopedCallSite.cs
│ │ │ │ ├── ServiceProviderCallSite.cs
│ │ │ │ ├── ServiceProviderEngine.cs
│ │ │ │ ├── ServiceProviderEngineScope.cs
│ │ │ │ ├── ServiceScopeFactoryCallSite.cs
│ │ │ │ ├── SingletonCallSite.cs
│ │ │ │ ├── ThrowHelper.cs
│ │ │ │ └── TransientCallSite.cs
│ │ │ ├── ServiceProvider.cs
│ │ │ ├── ServiceProviderMode.cs
│ │ │ ├── ServiceProviderOptions.cs
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── CallSiteTests.cs
│ │ │ ├── CircularDependencyTests.cs
│ │ │ ├── Fakes
│ │ │ ├── AbstractClass.cs
│ │ │ ├── CircularReferences
│ │ │ │ ├── DependencyOnCircularDependency.cs
│ │ │ │ ├── DirectCircularDependencyA.cs
│ │ │ │ ├── DirectCircularDependencyB.cs
│ │ │ │ ├── ISelfCircularDependencyWithInterface.cs
│ │ │ │ ├── IndirectCircularDependencyA.cs
│ │ │ │ ├── IndirectCircularDependencyB.cs
│ │ │ │ ├── IndirectCircularDependencyC.cs
│ │ │ │ ├── NoCircularDependencySameTypeMultipleTimesA.cs
│ │ │ │ ├── NoCircularDependencySameTypeMultipleTimesB.cs
│ │ │ │ ├── NoCircularDependencySameTypeMultipleTimesC.cs
│ │ │ │ ├── SelfCircularDependency.cs
│ │ │ │ ├── SelfCircularDependencyGeneric.cs
│ │ │ │ └── SelfCircularDependencyWithInterface.cs
│ │ │ ├── ClassDependsOnPrivateConstructorClass.cs
│ │ │ ├── ClassWithNestedReferencesToProvider.cs
│ │ │ ├── ClassWithOptionalArgsCtorWithStructs.cs
│ │ │ ├── DependOnNonexistentService.cs
│ │ │ ├── StructFakeMultipleService.cs
│ │ │ ├── StructFakeService.cs
│ │ │ └── StructService.cs
│ │ │ ├── Microsoft.Extensions.DependencyInjection.Tests.csproj
│ │ │ ├── ServiceCollectionDescriptorExtensionsTests.cs
│ │ │ ├── ServiceCollectionServiceExtensionsTest.cs
│ │ │ ├── ServiceLookup
│ │ │ ├── CallSiteFactoryTest.cs
│ │ │ └── Types
│ │ │ │ ├── TypeWithDefaultConstructorParameters.cs
│ │ │ │ ├── TypeWithEnumerableConstructors.cs
│ │ │ │ ├── TypeWithGenericServices.cs
│ │ │ │ ├── TypeWithMultipleParameterizedConstructors.cs
│ │ │ │ ├── TypeWithNoConstructors.cs
│ │ │ │ ├── TypeWithNoPublicConstructors.cs
│ │ │ │ ├── TypeWithNonOverlappedConstructors.cs
│ │ │ │ ├── TypeWithParameterizedAndNullaryConstructor.cs
│ │ │ │ ├── TypeWithParameterizedConstructor.cs
│ │ │ │ ├── TypeWithParameterlessConstructor.cs
│ │ │ │ ├── TypeWithParameterlessPublicConstructor.cs
│ │ │ │ └── TypeWithUnresolvableEnumerableConstructors.cs
│ │ │ ├── ServiceProviderCompilationTest.cs
│ │ │ ├── ServiceProviderCompilationTestData.cs
│ │ │ ├── ServiceProviderContainerTests.cs
│ │ │ ├── ServiceProviderDynamicContainerTests.cs
│ │ │ ├── ServiceProviderExpressionsContainerTests.cs
│ │ │ ├── ServiceProviderILEmitContainerTests.cs
│ │ │ ├── ServiceProviderServiceExtensionsTest.cs
│ │ │ ├── ServiceProviderValidationTests.cs
│ │ │ ├── ServiceTableTest.cs
│ │ │ ├── Utils
│ │ │ └── MultiServiceHelpers.cs
│ │ │ └── xunit.runner.json
│ └── README.md
├── DiagnosticAdapter
│ ├── Directory.Build.props
│ ├── README.md
│ ├── src
│ │ ├── DiagnosticListenerExtensions.cs
│ │ ├── DiagnosticNameAttribute.cs
│ │ ├── DiagnosticSourceAdapter.cs
│ │ ├── IDiagnosticSourceMethodAdapter.cs
│ │ ├── Infrastructure
│ │ │ ├── IProxy.cs
│ │ │ └── IProxyFactory.cs
│ │ ├── Internal
│ │ │ ├── InvalidProxyOperationException.cs
│ │ │ ├── ProxyAssembly.cs
│ │ │ ├── ProxyBase.cs
│ │ │ ├── ProxyBaseOfT.cs
│ │ │ ├── ProxyEnumerable.cs
│ │ │ ├── ProxyFactory.cs
│ │ │ ├── ProxyList.cs
│ │ │ ├── ProxyMethodEmitter.cs
│ │ │ ├── ProxyTypeCache.cs
│ │ │ ├── ProxyTypeCacheResult.cs
│ │ │ └── ProxyTypeEmitter.cs
│ │ ├── Microsoft.Extensions.DiagnosticAdapter.csproj
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ └── Resources.Designer.cs
│ │ ├── ProxyDiagnosticSourceMethodAdapter.cs
│ │ ├── Resources.resx
│ │ ├── baseline.net461.json
│ │ ├── baseline.netcore.json
│ │ ├── baseline.netframework.json
│ │ └── breakingchanges.netcore.json
│ └── test
│ │ ├── DiagnosticSourceAdapterTest.cs
│ │ ├── Internal
│ │ ├── ProxyFactoryTest.cs
│ │ └── ProxyTypeEmitterTest.cs
│ │ ├── Microsoft.Extensions.DiagnosticAdapter.Tests.csproj
│ │ └── ProxyDiagnosticSourceMethodAdapterTest.cs
├── FileProviders
│ ├── Abstractions
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── IDirectoryContents.cs
│ │ │ ├── IFileInfo.cs
│ │ │ ├── IFileProvider.cs
│ │ │ ├── Microsoft.Extensions.FileProviders.Abstractions.csproj
│ │ │ ├── NotFoundDirectoryContents.cs
│ │ │ ├── NotFoundFileInfo.cs
│ │ │ ├── NullChangeToken.cs
│ │ │ ├── NullFileProvider.cs
│ │ │ └── baseline.netcore.json
│ ├── Composite
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── CompositeDirectoryContents.cs
│ │ │ ├── CompositeFileProvider.cs
│ │ │ ├── Microsoft.Extensions.FileProviders.Composite.csproj
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── CompositeFileProviderTests.cs
│ │ │ ├── Microsoft.Extensions.FileProviders.Composite.Tests.csproj
│ │ │ ├── MockChangeToken.cs
│ │ │ ├── MockDisposable.cs
│ │ │ ├── MockFileInfo.cs
│ │ │ └── MockFileProvider.cs
│ ├── Directory.Build.props
│ ├── Embedded
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── EmbeddedFileProvider.cs
│ │ │ ├── EmbeddedResourceFileInfo.cs
│ │ │ ├── EnumerableDirectoryContents.cs
│ │ │ ├── Manifest
│ │ │ │ ├── EmbeddedFilesManifest.cs
│ │ │ │ ├── ManifestDirectory.cs
│ │ │ │ ├── ManifestDirectoryContents.cs
│ │ │ │ ├── ManifestDirectoryInfo.cs
│ │ │ │ ├── ManifestEntry.cs
│ │ │ │ ├── ManifestFile.cs
│ │ │ │ ├── ManifestFileInfo.cs
│ │ │ │ ├── ManifestParser.cs
│ │ │ │ ├── ManifestRootDirectory.cs
│ │ │ │ └── ManifestSinkDirectory.cs
│ │ │ ├── ManifestEmbeddedFileProvider.cs
│ │ │ ├── Microsoft.Extensions.FileProviders.Embedded.csproj
│ │ │ ├── Microsoft.Extensions.FileProviders.Embedded.nuspec
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── baseline.netcore.json
│ │ │ ├── build
│ │ │ │ └── netstandard2.0
│ │ │ │ │ ├── Microsoft.Extensions.FileProviders.Embedded.props
│ │ │ │ │ └── Microsoft.Extensions.FileProviders.Embedded.targets
│ │ │ └── buildMultiTargeting
│ │ │ │ ├── Microsoft.Extensions.FileProviders.Embedded.props
│ │ │ │ └── Microsoft.Extensions.FileProviders.Embedded.targets
│ │ └── test
│ │ │ ├── EmbeddedFileProviderTests.cs
│ │ │ ├── File.txt
│ │ │ ├── FileInfoComparer.cs
│ │ │ ├── Manifest
│ │ │ ├── EmbeddedFilesManifestTests.cs
│ │ │ ├── ManifestEntryTests.cs
│ │ │ ├── ManifestParserTests.cs
│ │ │ └── TestEntry.cs
│ │ │ ├── ManifestEmbeddedFileProviderTests.cs
│ │ │ ├── Microsoft.Extensions.FileProviders.Embedded.Tests.csproj
│ │ │ ├── Resources
│ │ │ ├── File.txt
│ │ │ └── ResourcesInSubdirectory
│ │ │ │ └── File3.txt
│ │ │ ├── TestAssembly.cs
│ │ │ ├── TestFileInfo.cs
│ │ │ └── sub
│ │ │ ├── File2.txt
│ │ │ └── dir
│ │ │ └── File3.txt
│ ├── Manifest.MSBuildTask
│ │ ├── src
│ │ │ ├── EmbeddedItem.cs
│ │ │ ├── Entry.cs
│ │ │ ├── GenerateEmbeddedResourcesManifest.cs
│ │ │ ├── Manifest.cs
│ │ │ └── Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.csproj
│ │ └── test
│ │ │ ├── GenerateEmbeddedResourcesManifestTest.cs
│ │ │ ├── Microsoft.Extensions.FileProviders.Embedded.Manifest.Task.Test.csproj
│ │ │ └── SetExtensions.cs
│ ├── Physical
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── ExclusionFilters.cs
│ │ │ ├── IPollingChangeToken.cs
│ │ │ ├── Internal
│ │ │ │ ├── Clock.cs
│ │ │ │ ├── FileSystemInfoHelper.cs
│ │ │ │ ├── IClock.cs
│ │ │ │ ├── PathUtils.cs
│ │ │ │ └── PhysicalDirectoryContents.cs
│ │ │ ├── Microsoft.Extensions.FileProviders.Physical.csproj
│ │ │ ├── PhysicalDirectoryInfo.cs
│ │ │ ├── PhysicalFileInfo.cs
│ │ │ ├── PhysicalFileProvider.cs
│ │ │ ├── PhysicalFilesWatcher.cs
│ │ │ ├── PollingFileChangeToken.cs
│ │ │ ├── PollingWildCardChangeToken.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── DisposableFileSystem.cs
│ │ │ ├── ExclusionFilterTests.cs
│ │ │ ├── Microsoft.Extensions.FileProviders.Physical.Tests.csproj
│ │ │ ├── MockFileSystemWatcher.cs
│ │ │ ├── PhysicalFileProviderTests.cs
│ │ │ ├── PhysicalFilesWatcherTests.cs
│ │ │ ├── PollingWildCardChangeTokenTest.cs
│ │ │ └── TestClock.cs
│ └── README.md
├── FileSystemGlobbing
│ ├── Directory.Build.props
│ ├── src
│ │ ├── Abstractions
│ │ │ ├── DirectoryInfoBase.cs
│ │ │ ├── DirectoryInfoWrapper.cs
│ │ │ ├── FileInfoBase.cs
│ │ │ ├── FileInfoWrapper.cs
│ │ │ └── FileSystemInfoBase.cs
│ │ ├── FilePatternMatch.cs
│ │ ├── InMemoryDirectoryInfo.cs
│ │ ├── Internal
│ │ │ ├── ILinearPattern.cs
│ │ │ ├── IPathSegment.cs
│ │ │ ├── IPattern.cs
│ │ │ ├── IPatternContext.cs
│ │ │ ├── IRaggedPattern.cs
│ │ │ ├── InMemoryFileInfo.cs
│ │ │ ├── MatcherContext.cs
│ │ │ ├── PathSegments
│ │ │ │ ├── CurrentPathSegment.cs
│ │ │ │ ├── LiteralPathSegment.cs
│ │ │ │ ├── ParentPathSegment.cs
│ │ │ │ ├── RecursiveWildcardSegment.cs
│ │ │ │ └── WildcardPathSegment.cs
│ │ │ ├── PatternContexts
│ │ │ │ ├── PatternContext.cs
│ │ │ │ ├── PatternContextLinear.cs
│ │ │ │ ├── PatternContextLinearExclude.cs
│ │ │ │ ├── PatternContextLinearInclude.cs
│ │ │ │ ├── PatternContextRagged.cs
│ │ │ │ ├── PatternContextRaggedExclude.cs
│ │ │ │ └── PatternContextRaggedInclude.cs
│ │ │ ├── PatternTestResult.cs
│ │ │ └── Patterns
│ │ │ │ └── PatternBuilder.cs
│ │ ├── Matcher.cs
│ │ ├── MatcherExtensions.cs
│ │ ├── Microsoft.Extensions.FileSystemGlobbing.csproj
│ │ ├── PatternMatchingResult.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── Util
│ │ │ └── StringComparisonHelper.cs
│ │ └── baseline.netcore.json
│ └── test
│ │ ├── FileAbstractionsTests.cs
│ │ ├── FunctionalTests.cs
│ │ ├── Microsoft.Extensions.FileSystemGlobbing.Tests.csproj
│ │ ├── PatternContexts
│ │ ├── PatternContextLinearTests.cs
│ │ └── PatternContextRaggedTests.cs
│ │ ├── PatternMatchingTests.cs
│ │ ├── PatternSegments
│ │ ├── CurrentPathSegmentTests.cs
│ │ ├── LiteralPathSegmentTests.cs
│ │ ├── ParentPathSegmentTests.cs
│ │ ├── RecursiveWildcardSegmentTests.cs
│ │ └── WildcardPathSegmentTests.cs
│ │ ├── Patterns
│ │ └── PatternTests.cs
│ │ └── TestUtility
│ │ ├── DisposableFileSystem.cs
│ │ ├── FileSystemGlobbingTestContext.cs
│ │ ├── FileSystemOperationRecorder.cs
│ │ ├── MockDirectoryInfo.cs
│ │ ├── MockFileInfoStub.cs
│ │ ├── MockLinearPatternBuilder.cs
│ │ ├── MockNonRecursivePathSegment.cs
│ │ ├── MockRaggedPatternBuilder.cs
│ │ ├── MockRecursivePathSegment.cs
│ │ └── PatternContextHelper.cs
├── HealthChecks
│ ├── Abstractions
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── HealthCheckContext.cs
│ │ │ ├── HealthCheckRegistration.cs
│ │ │ ├── HealthCheckResult.cs
│ │ │ ├── HealthReport.cs
│ │ │ ├── HealthReportEntry.cs
│ │ │ ├── HealthStatus.cs
│ │ │ ├── IHealthCheck.cs
│ │ │ ├── IHealthCheckPublisher.cs
│ │ │ ├── Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.csproj
│ │ │ └── baseline.netcore.json
│ └── HealthChecks
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ ├── DefaultHealthCheckService.cs
│ │ ├── DelegateHealthCheck.cs
│ │ ├── DependencyInjection
│ │ │ ├── HealthCheckServiceCollectionExtensions.cs
│ │ │ ├── HealthChecksBuilder.cs
│ │ │ ├── HealthChecksBuilderAddCheckExtensions.cs
│ │ │ ├── HealthChecksBuilderDelegateExtensions.cs
│ │ │ └── IHealthChecksBuilder.cs
│ │ ├── HealthCheckLogScope.cs
│ │ ├── HealthCheckPublisherHostedService.cs
│ │ ├── HealthCheckPublisherOptions.cs
│ │ ├── HealthCheckService.cs
│ │ ├── HealthCheckServiceOptions.cs
│ │ ├── Microsoft.Extensions.Diagnostics.HealthChecks.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── baseline.netcore.json
│ │ └── test
│ │ ├── DefaultHealthCheckServiceTest.cs
│ │ ├── DependencyInjection
│ │ ├── HealthChecksBuilderTest.cs
│ │ └── ServiceCollectionExtensionsTest.cs
│ │ ├── HealthCheckPublisherHostedServiceTest.cs
│ │ ├── HealthReportTest.cs
│ │ └── Microsoft.Extensions.Diagnostics.HealthChecks.Tests.csproj
├── Hosting
│ ├── Abstractions
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── BackgroundService.cs
│ │ │ ├── EnvironmentName.cs
│ │ │ ├── HostBuilderContext.cs
│ │ │ ├── HostDefaults.cs
│ │ │ ├── HostingAbstractionsHostBuilderExtensions.cs
│ │ │ ├── HostingAbstractionsHostExtensions.cs
│ │ │ ├── HostingEnvironmentExtensions.cs
│ │ │ ├── IApplicationLifetime.cs
│ │ │ ├── IHost.cs
│ │ │ ├── IHostBuilder.cs
│ │ │ ├── IHostLifetime.cs
│ │ │ ├── IHostedService.cs
│ │ │ ├── IHostingEnvironment.cs
│ │ │ ├── Microsoft.Extensions.Hosting.Abstractions.csproj
│ │ │ ├── ServiceCollectionHostedServiceExtensions.cs
│ │ │ └── baseline.netcore.json
│ ├── Hosting
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── ConsoleLifetimeOptions.cs
│ │ │ ├── HostBuilder.cs
│ │ │ ├── HostOptions.cs
│ │ │ ├── HostingHostBuilderExtensions.cs
│ │ │ ├── Internal
│ │ │ │ ├── ApplicationLifetime.cs
│ │ │ │ ├── ConfigureContainerAdapter.cs
│ │ │ │ ├── ConsoleLifetime.cs
│ │ │ │ ├── Host.cs
│ │ │ │ ├── HostingEnvironment.cs
│ │ │ │ ├── HostingLoggerExtensions.cs
│ │ │ │ ├── IConfigureContainerAdapter.cs
│ │ │ │ ├── IServiceFactoryAdapter.cs
│ │ │ │ ├── LoggerEventIds.cs
│ │ │ │ └── ServiceFactoryAdapter.cs
│ │ │ └── Microsoft.Extensions.Hosting.csproj
│ │ └── test
│ │ │ ├── BackgroundHostedServiceTests.cs
│ │ │ ├── Fakes
│ │ │ ├── FakeHostLifetime.cs
│ │ │ ├── FakeHostedService.cs
│ │ │ ├── FakeOptions.cs
│ │ │ ├── FakeService.cs
│ │ │ ├── FakeServiceCollection.cs
│ │ │ ├── FakeServiceProviderFactory.cs
│ │ │ ├── IFakeEveryService.cs
│ │ │ ├── IFakeScopedService.cs
│ │ │ ├── IFakeService.cs
│ │ │ ├── IFakeServiceInstance.cs
│ │ │ └── IFakeSingletonService.cs
│ │ │ ├── HostBuilderTests.cs
│ │ │ ├── HostTests.cs
│ │ │ ├── Microsoft.Extensions.Hosting.Tests.csproj
│ │ │ └── testroot
│ │ │ └── readme.txt
│ └── samples
│ │ ├── GenericHostSample
│ │ ├── GenericHostSample.csproj
│ │ ├── MyContainer.cs
│ │ ├── MyContainerFactory.cs
│ │ ├── MyServiceA.cs
│ │ ├── MyServiceB.cs
│ │ ├── ProgramExternallyControlled.cs
│ │ ├── ProgramFullControl.cs
│ │ ├── ProgramHelloWorld.cs
│ │ ├── ServiceBaseControlled.cs
│ │ └── ServiceBaseLifetime.cs
│ │ └── SampleMsmqHost
│ │ ├── MsmqConnection.cs
│ │ ├── MsmqOptions.cs
│ │ ├── MsmqProcessor.cs
│ │ ├── MsmqService.cs
│ │ ├── Program.cs
│ │ └── SampleMsmqHost.csproj
├── HttpClientFactory
│ ├── Http
│ │ ├── perf
│ │ │ ├── Configs
│ │ │ │ └── CoreConfig.cs
│ │ │ ├── CreationOverheadBenchmark.cs
│ │ │ ├── FakeClientHandler.cs
│ │ │ ├── FakeLoggerProvider.cs
│ │ │ ├── LoggingOverheadBenchmark.cs
│ │ │ └── Microsoft.Extensions.Http.Performance.csproj
│ │ ├── src
│ │ │ ├── ActiveHandlerTrackingEntry.cs
│ │ │ ├── DefaultHttpMessageHandlerBuilder.cs
│ │ │ ├── ExpiredHandlerTrackingEntry.cs
│ │ │ ├── HttpClientFactory.cs
│ │ │ ├── HttpClientFactoryExtensions.cs
│ │ │ ├── HttpClientFactoryOptions.cs
│ │ │ ├── HttpClientFactoryOptionsBuilder.cs
│ │ │ ├── HttpMessageHandlerBuilder.cs
│ │ │ ├── IHttpClientFactory.cs
│ │ │ ├── IHttpClientFactoryOptionsBuilder.cs
│ │ │ ├── IHttpMessageHandlerBuilderFilter.cs
│ │ │ ├── IHttpMessageHandlerFactory.cs
│ │ │ ├── LifetimeTrackingHttpMessageHandler.cs
│ │ │ ├── Microsoft.Extensions.Http.csproj
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ └── test
│ │ │ ├── DefaultHttpClientFactoryTest.cs
│ │ │ ├── DefaultHttpMessageHandlerBuilderTest.cs
│ │ │ ├── DependencyInjection
│ │ │ ├── HttpClientFactoryServiceCollectionExtensionsTest.cs
│ │ │ └── OtherTestOptions.cs
│ │ │ ├── HttpMessageHandlerBuilderTest.cs
│ │ │ ├── ITestTypedClient.cs
│ │ │ ├── Microsoft.Extensions.Http.Tests.csproj
│ │ │ └── TestTypedClient.cs
│ ├── Polly
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── DependencyInjection
│ │ │ │ ├── PollyHttpClientBuilderExtensions.cs
│ │ │ │ └── PollyServiceCollectionExtensions.cs
│ │ │ ├── HttpRequestMessageExtensions.cs
│ │ │ ├── Microsoft.Extensions.Http.Polly.csproj
│ │ │ ├── PolicyHttpMessageHandler.cs
│ │ │ ├── Properties
│ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── DependencyInjection
│ │ │ └── PollyHttpClientBuilderExtensionsTest.cs
│ │ │ ├── HttpRequestMessageExtensionsTest.cs
│ │ │ ├── Microsoft.Extensions.Http.Polly.Tests.csproj
│ │ │ └── PolicyHttpMessageHandlerTest.cs
│ ├── README.md
│ └── samples
│ │ └── HttpClientFactorySample
│ │ ├── HttpClientFactorySample.csproj
│ │ └── Program.cs
├── Localization
│ ├── Abstractions
│ │ └── src
│ │ │ ├── IStringLocalizer.cs
│ │ │ ├── IStringLocalizerFactory.cs
│ │ │ ├── IStringLocalizerOfT.cs
│ │ │ ├── LocalizedString.cs
│ │ │ ├── Microsoft.Extensions.Localization.Abstractions.csproj
│ │ │ ├── StringLocalizerExtensions.cs
│ │ │ ├── StringLocalizerOfT.cs
│ │ │ └── baseline.netcore.json
│ └── Localization
│ │ ├── src
│ │ ├── IResourceNamesCache.cs
│ │ ├── Internal
│ │ │ ├── AssemblyWrapper.cs
│ │ │ ├── IResourceStringProvider.cs
│ │ │ ├── ResourceManagerStringLocalizerLoggerExtensions.cs
│ │ │ └── ResourceManagerStringProvider.cs
│ │ ├── LocalizationOptions.cs
│ │ ├── LocalizationServiceCollectionExtensions.cs
│ │ ├── Microsoft.Extensions.Localization.csproj
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ └── Resources.Designer.cs
│ │ ├── ResourceLocationAttribute.cs
│ │ ├── ResourceManagerStringLocalizer.cs
│ │ ├── ResourceManagerStringLocalizerFactory.cs
│ │ ├── ResourceManagerWithCultureStringLocalizer.cs
│ │ ├── ResourceNamesCache.cs
│ │ ├── Resources.resx
│ │ ├── RootNamespaceAttribute.cs
│ │ └── baseline.netcore.json
│ │ └── test
│ │ ├── LocalizationServiceCollectionExtensionsTest.cs
│ │ ├── Microsoft.Extensions.Localization.Tests.csproj
│ │ ├── ResourceManagerStringLocalizerFactoryTest.cs
│ │ └── ResourceManagerStringLocalizerTest.cs
├── Logging
│ ├── Directory.Build.props
│ ├── Logging.Abstractions
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── EventId.cs
│ │ │ ├── IExternalScopeProvider.cs
│ │ │ ├── ILogger.cs
│ │ │ ├── ILoggerFactory.cs
│ │ │ ├── ILoggerOfT.cs
│ │ │ ├── ILoggerProvider.cs
│ │ │ ├── ISupportExternalScope.cs
│ │ │ ├── Internal
│ │ │ ├── FormattedLogValues.cs
│ │ │ ├── LogValuesFormatter.cs
│ │ │ ├── NullScope.cs
│ │ │ └── TypeNameHelper.cs
│ │ │ ├── LogLevel.cs
│ │ │ ├── LoggerExtensions.cs
│ │ │ ├── LoggerExternalScopeProvider.cs
│ │ │ ├── LoggerFactoryExtensions.cs
│ │ │ ├── LoggerMessage.cs
│ │ │ ├── LoggerOfT.cs
│ │ │ ├── Microsoft.Extensions.Logging.Abstractions.csproj
│ │ │ ├── NullLogger.cs
│ │ │ ├── NullLoggerFactory.cs
│ │ │ ├── NullLoggerOfT.cs
│ │ │ ├── NullLoggerProvider.cs
│ │ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ └── Resource.Designer.cs
│ │ │ ├── Resource.resx
│ │ │ └── baseline.netcore.json
│ ├── Logging.Analyzers
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── Descriptors.cs
│ │ │ ├── LogFormatAnalyzer.cs
│ │ │ └── Microsoft.Extensions.Logging.Analyzers.csproj
│ │ └── test
│ │ │ ├── LogFormatAnalyzerTests.cs
│ │ │ ├── LoggingDiagnosticRunner.cs
│ │ │ ├── Microsoft.Extensions.Logging.Analyzer.Tests.csproj
│ │ │ └── xunit.runner.json
│ ├── Logging.AzureAppServices
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── AzureAppServicesDiagnosticsSettings.cs
│ │ │ ├── AzureAppServicesLoggerFactoryExtensions.cs
│ │ │ ├── AzureBlobLoggerOptions.cs
│ │ │ ├── AzureFileLoggerOptions.cs
│ │ │ ├── Internal
│ │ │ │ ├── BatchLoggerConfigureOptions.cs
│ │ │ │ ├── BatchingLogger.cs
│ │ │ │ ├── BatchingLoggerOptions.cs
│ │ │ │ ├── BatchingLoggerProvider.cs
│ │ │ │ ├── BlobAppendReferenceWrapper.cs
│ │ │ │ ├── BlobLoggerConfigureOptions.cs
│ │ │ │ ├── BlobLoggerProvider.cs
│ │ │ │ ├── ConfigurationBasedLevelSwitcher.cs
│ │ │ │ ├── FileLoggerConfigureOptions.cs
│ │ │ │ ├── FileLoggerProvider.cs
│ │ │ │ ├── ForwardingLoggerProvider.cs
│ │ │ │ ├── ICloudAppendBlob.cs
│ │ │ │ ├── IWebAppContext.cs
│ │ │ │ ├── LogMessage.cs
│ │ │ │ ├── SiteConfigurationProvider.cs
│ │ │ │ └── WebAppContext.cs
│ │ │ ├── Microsoft.Extensions.Logging.AzureAppServices.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── AzureAppendBlobTests.cs
│ │ │ ├── AzureBlobSinkTests.cs
│ │ │ ├── AzureDiagnosticsConfigurationProviderTests.cs
│ │ │ ├── BatchingLoggerProviderTests.cs
│ │ │ ├── ConfigureOptionsTests.cs
│ │ │ ├── FileLoggerTests.cs
│ │ │ ├── LoggerBuilderExtensionsTests.cs
│ │ │ ├── ManualIntervalControl.cs
│ │ │ ├── Microsoft.Extensions.Logging.AzureAppServices.Tests.csproj
│ │ │ ├── OptionsWrapperMonitor.cs
│ │ │ ├── TestBlobSink.cs
│ │ │ ├── TestFileLoggerProvider.cs
│ │ │ └── WebConfigurationLevelSwitchTests.cs
│ ├── Logging.Configuration
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── ILoggerProviderConfiguration.cs
│ │ │ ├── ILoggerProviderConfigurationFactory.cs
│ │ │ ├── LoggerFilterConfigureOptions.cs
│ │ │ ├── LoggerProviderConfiguration.cs
│ │ │ ├── LoggerProviderConfigurationFactory.cs
│ │ │ ├── LoggerProviderOptionsChangeTokenSource.cs
│ │ │ ├── LoggingBuilderConfigurationExtensions.cs
│ │ │ ├── LoggingBuilderExtensions.cs
│ │ │ ├── LoggingConfiguration.cs
│ │ │ ├── Microsoft.Extensions.Logging.Configuration.csproj
│ │ │ └── baseline.netcore.json
│ ├── Logging.Console
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── ConfigurationConsoleLoggerSettings.cs
│ │ │ ├── ConsoleLogScope.cs
│ │ │ ├── ConsoleLogger.cs
│ │ │ ├── ConsoleLoggerFactoryExtensions.cs
│ │ │ ├── ConsoleLoggerOptions.cs
│ │ │ ├── ConsoleLoggerOptionsSetup.cs
│ │ │ ├── ConsoleLoggerProvider.cs
│ │ │ ├── ConsoleLoggerSettings.cs
│ │ │ ├── IConsoleLoggerSettings.cs
│ │ │ ├── Internal
│ │ │ ├── AnsiLogConsole.cs
│ │ │ ├── ConsoleLoggerProcessor.cs
│ │ │ ├── IAnsiSystemConsole.cs
│ │ │ ├── IConsole.cs
│ │ │ ├── LogMessageEntry.cs
│ │ │ └── WindowsLogConsole.cs
│ │ │ ├── Microsoft.Extensions.Logging.Console.csproj
│ │ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ │ └── baseline.netcore.json
│ ├── Logging.Debug
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── DebugLogger.cs
│ │ │ ├── DebugLogger.debug.cs
│ │ │ ├── DebugLoggerFactoryExtensions.cs
│ │ │ ├── DebugLoggerProvider.cs
│ │ │ ├── Microsoft.Extensions.Logging.Debug.csproj
│ │ │ └── baseline.netcore.json
│ ├── Logging.EventLog
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── EventLogLogger.cs
│ │ │ ├── EventLogLoggerProvider.cs
│ │ │ ├── EventLogSettings.cs
│ │ │ ├── EventLoggerFactoryExtensions.cs
│ │ │ ├── Internal
│ │ │ └── IEventLog.cs
│ │ │ ├── Microsoft.Extensions.Logging.EventLog.csproj
│ │ │ ├── WindowsEventLog.cs
│ │ │ ├── baseline.netcore.json
│ │ │ └── baseline.netframework.json
│ ├── Logging.EventSource
│ │ ├── Directory.Build.props
│ │ ├── src
│ │ │ ├── EventLogFiltersConfigureOptions.cs
│ │ │ ├── EventLogFiltersConfigureOptionsChangeSource.cs
│ │ │ ├── EventSourceLogger.cs
│ │ │ ├── EventSourceLoggerFactoryExtensions.cs
│ │ │ ├── EventSourceLoggerProvider.cs
│ │ │ ├── ExceptionInfo.cs
│ │ │ ├── LoggingEventSource.cs
│ │ │ ├── Microsoft.Extensions.Logging.EventSource.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── baseline.net45.json
│ │ │ └── baseline.netcore.json
│ │ └── test
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── AzureAppServicesLoggerFactoryExtensionsTests.cs
│ │ │ ├── EventSourceLoggerTest.cs
│ │ │ └── Microsoft.Extensions.Logging.EventSource.Tests.csproj
│ ├── Logging.Testing
│ │ ├── src
│ │ │ ├── AssemblyTestLog.cs
│ │ │ ├── BeginScopeContext.cs
│ │ │ ├── ITestSink.cs
│ │ │ ├── LogValuesAssert.cs
│ │ │ ├── LoggedTest
│ │ │ │ ├── ILoggedTest.cs
│ │ │ │ ├── LoggedTest.cs
│ │ │ │ └── LoggedTestBase.cs
│ │ │ ├── Microsoft.Extensions.Logging.Testing.csproj
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── RetryContext.cs
│ │ │ ├── ShortClassNameAttribute.cs
│ │ │ ├── TestFrameworkFileLoggerAttribute.cs
│ │ │ ├── TestLogger.cs
│ │ │ ├── TestLoggerFactory.cs
│ │ │ ├── TestLoggerOfT.cs
│ │ │ ├── TestLoggerProvider.cs
│ │ │ ├── TestSink.cs
│ │ │ ├── WriteContext.cs
│ │ │ ├── Xunit
│ │ │ │ ├── LogLevelAttribute.cs
│ │ │ │ ├── LoggedConditionalFactDiscoverer.cs
│ │ │ │ ├── LoggedConditionalTheoryDiscoverer.cs
│ │ │ │ ├── LoggedFactDiscoverer.cs
│ │ │ │ ├── LoggedTestAssemblyRunner.cs
│ │ │ │ ├── LoggedTestCase.cs
│ │ │ │ ├── LoggedTestCaseRunner.cs
│ │ │ │ ├── LoggedTestClassRunner.cs
│ │ │ │ ├── LoggedTestCollectionRunner.cs
│ │ │ │ ├── LoggedTestFramework.cs
│ │ │ │ ├── LoggedTestFrameworkDiscoverer.cs
│ │ │ │ ├── LoggedTestFrameworkExecutor.cs
│ │ │ │ ├── LoggedTestInvoker.cs
│ │ │ │ ├── LoggedTestMethodRunner.cs
│ │ │ │ ├── LoggedTestRunner.cs
│ │ │ │ ├── LoggedTheoryDiscoverer.cs
│ │ │ │ ├── LoggedTheoryTestCase.cs
│ │ │ │ ├── LoggedTheoryTestCaseRunner.cs
│ │ │ │ └── RetryTestAttribute.cs
│ │ │ ├── XunitLoggerFactoryExtensions.cs
│ │ │ ├── XunitLoggerProvider.cs
│ │ │ ├── baseline.netcore.json
│ │ │ └── build
│ │ │ │ └── Microsoft.Extensions.Logging.Testing.props
│ │ └── test
│ │ │ ├── AssemblyTestLogTests.cs
│ │ │ ├── LogValuesAssertTest.cs
│ │ │ ├── LoggedTestXunitRetryTests.cs
│ │ │ ├── LoggedTestXunitTests.cs
│ │ │ ├── Microsoft.Extensions.Logging.Testing.Tests.csproj
│ │ │ ├── TestTestOutputHelper.cs
│ │ │ └── XunitLoggerProviderTest.cs
│ ├── Logging.TraceSource
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── Microsoft.Extensions.Logging.TraceSource.csproj
│ │ │ ├── TraceSourceFactoryExtensions.cs
│ │ │ ├── TraceSourceLogger.cs
│ │ │ ├── TraceSourceLoggerProvider.cs
│ │ │ ├── TraceSourceScope.cs
│ │ │ └── baseline.netcore.json
│ ├── Logging
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── DefaultLoggerLevelConfigureOptions.cs
│ │ │ ├── FilterLoggingBuilderExtensions.cs
│ │ │ ├── ILoggingBuilder.cs
│ │ │ ├── Logger.cs
│ │ │ ├── LoggerFactory.cs
│ │ │ ├── LoggerFilterOptions.cs
│ │ │ ├── LoggerFilterRule.cs
│ │ │ ├── LoggerInformation.cs
│ │ │ ├── LoggerRuleSelector.cs
│ │ │ ├── LoggingBuilder.cs
│ │ │ ├── LoggingBuilderExtensions.cs
│ │ │ ├── LoggingServiceCollectionExtensions.cs
│ │ │ ├── Microsoft.Extensions.Logging.csproj
│ │ │ ├── Properties
│ │ │ └── AssemlyInfo.cs
│ │ │ ├── ProviderAliasAttribute.cs
│ │ │ ├── ProviderAliasUtilities.cs
│ │ │ ├── StaticFilterOptionsMonitor.cs
│ │ │ └── baseline.netcore.json
│ ├── README.md
│ ├── samples
│ │ └── SampleApp
│ │ │ ├── LoggerExtensions.cs
│ │ │ ├── Program.cs
│ │ │ ├── SampleApp.csproj
│ │ │ └── logging.json
│ └── test
│ │ ├── AnsiLogConsoleTest.cs
│ │ ├── Console
│ │ ├── ConsoleContext.cs
│ │ ├── ConsoleSink.cs
│ │ └── TestConsole.cs
│ │ ├── ConsoleLoggerTest.cs
│ │ ├── DebugLoggerTest.cs
│ │ ├── EventIdTest.cs
│ │ ├── EventLogLoggerTest.cs
│ │ ├── FormattedLogValuesTest.cs
│ │ ├── LogLevelEnumTest.cs
│ │ ├── LoggerBuilderExtensionsTests.cs
│ │ ├── LoggerExtensionsTest.cs
│ │ ├── LoggerFactoryExtensionsTest.cs
│ │ ├── LoggerFactoryTest.cs
│ │ ├── LoggerFilterTest.cs
│ │ ├── LoggerMessageTest.cs
│ │ ├── LoggerProviderConfigurationFactoryTest.cs
│ │ ├── LoggerProviderConfigurationTests.cs
│ │ ├── LoggerTest.cs
│ │ ├── LoggingServiceCollectionExtensionsTest.cs
│ │ ├── Microsoft.Extensions.Logging.Tests.csproj
│ │ ├── NullLoggerFactoryTest.cs
│ │ ├── NullLoggerTest.cs
│ │ ├── ProviderAliasAttribute.cs
│ │ ├── TestLoggerBuilder.cs
│ │ ├── TestLoggerExtensions.cs
│ │ ├── TestLoggerProvider.cs
│ │ ├── TraceSourceLoggerProviderTest.cs
│ │ ├── TraceSourceLoggerTest.cs
│ │ ├── TraceSourceScopeTest.cs
│ │ └── TypeNameHelperTest.cs
├── ObjectPool
│ ├── Directory.Build.props
│ ├── perf
│ │ ├── Microsoft.Extensions.ObjectPool.Performance.csproj
│ │ ├── ObjectPoolBenchmark.cs
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── StringBuilderPoolBenchmark.cs
│ ├── src
│ │ ├── DefaultObjectPool.cs
│ │ ├── DefaultObjectPoolProvider.cs
│ │ ├── DefaultPooledObjectPolicy.cs
│ │ ├── IPooledObjectPolicy.cs
│ │ ├── LeakTrackingObjectPool.cs
│ │ ├── LeakTrackingObjectPoolProvider.cs
│ │ ├── Microsoft.Extensions.ObjectPool.csproj
│ │ ├── ObjectPool.cs
│ │ ├── ObjectPoolProvider.cs
│ │ ├── ObjectPoolProviderExtensions.cs
│ │ ├── PooledObjectPolicy.cs
│ │ ├── StringBuilderPooledObjectPolicy.cs
│ │ └── baseline.netcore.json
│ └── test
│ │ ├── DefaultObjectPoolTest.cs
│ │ ├── Microsoft.Extensions.ObjectPool.Tests.csproj
│ │ └── ThreadingTest.cs
├── Options
│ ├── ConfigurationExtensions
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── ConfigurationChangeTokenSource.cs
│ │ │ ├── ConfigureFromConfigurationOptions.cs
│ │ │ ├── Microsoft.Extensions.Options.ConfigurationExtensions.csproj
│ │ │ ├── NamedConfigureFromConfigurationOptions.cs
│ │ │ ├── OptionsBuilderConfigurationExtensions.cs
│ │ │ ├── OptionsConfigurationServiceCollectionExtensions.cs
│ │ │ └── baseline.netcore.json
│ ├── DataAnnotations
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── DataAnnotationValidateOptions.cs
│ │ │ ├── Microsoft.Extensions.Options.DataAnnotations.csproj
│ │ │ ├── OptionsBuilderDataAnnotationsExtensions.cs
│ │ │ └── baseline.netcore.json
│ ├── Options
│ │ ├── Directory.Build.props
│ │ └── src
│ │ │ ├── ConfigureNamedOptions.cs
│ │ │ ├── ConfigureOptions.cs
│ │ │ ├── IConfigureNamedOptions.cs
│ │ │ ├── IConfigureOptions.cs
│ │ │ ├── IOptions.cs
│ │ │ ├── IOptionsChangeTokenSource.cs
│ │ │ ├── IOptionsFactory.cs
│ │ │ ├── IOptionsMonitor.cs
│ │ │ ├── IOptionsMonitorCache.cs
│ │ │ ├── IOptionsSnapshot.cs
│ │ │ ├── IPostConfigureOptions.cs
│ │ │ ├── IValidateOptions.cs
│ │ │ ├── Microsoft.Extensions.Options.csproj
│ │ │ ├── Options.cs
│ │ │ ├── OptionsBuilder.cs
│ │ │ ├── OptionsCache.cs
│ │ │ ├── OptionsFactory.cs
│ │ │ ├── OptionsManager.cs
│ │ │ ├── OptionsMonitor.cs
│ │ │ ├── OptionsMonitorExtensions.cs
│ │ │ ├── OptionsServiceCollectionExtensions.cs
│ │ │ ├── OptionsValidationException.cs
│ │ │ ├── OptionsWrapper.cs
│ │ │ ├── PostConfigureOptions.cs
│ │ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ └── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── ValidateOptions.cs
│ │ │ ├── ValidateOptionsResult.cs
│ │ │ └── baseline.netcore.json
│ ├── README.md
│ └── test
│ │ ├── ComplexOptions.cs
│ │ ├── FakeChangeToken.cs
│ │ ├── FakeOptions.cs
│ │ ├── FakeOptionsFactory.cs
│ │ ├── Microsoft.Extensions.Options.Tests.csproj
│ │ ├── OptionsBuilderTest.cs
│ │ ├── OptionsFactoryTests.cs
│ │ ├── OptionsMonitorTest.cs
│ │ ├── OptionsSnapshotTest.cs
│ │ ├── OptionsTest.cs
│ │ └── OptionsValidationTests.cs
├── Primitives
│ ├── Directory.Build.props
│ ├── perf
│ │ ├── Microsoft.Extensions.Primitives.Performance.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ └── StringSegmentBenchmark.cs
│ ├── src
│ │ ├── CancellationChangeToken.cs
│ │ ├── ChangeToken.cs
│ │ ├── CompositeChangeToken.cs
│ │ ├── Extensions.cs
│ │ ├── IChangeToken.cs
│ │ ├── InplaceStringBuilder.cs
│ │ ├── Microsoft.Extensions.Primitives.csproj
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── StringSegment.cs
│ │ ├── StringSegmentComparer.cs
│ │ ├── StringTokenizer.cs
│ │ ├── StringValues.cs
│ │ ├── ThrowHelper.cs
│ │ └── baseline.netcore.json
│ └── test
│ │ ├── ChangeTokenTest.cs
│ │ ├── CompositeChangeTokenTest.cs
│ │ ├── InplaceStringBuilderTest.cs
│ │ ├── Microsoft.Extensions.Primitives.Tests.csproj
│ │ ├── StringSegmentTest.cs
│ │ ├── StringTokenizerTest.cs
│ │ └── StringValuesTests.cs
├── Shared
│ ├── src
│ │ ├── ActivatorUtilities
│ │ │ ├── ActivatorUtilities.cs
│ │ │ ├── ActivatorUtilitiesConstructorAttribute.cs
│ │ │ ├── ObjectFactory.cs
│ │ │ └── sharedsources.props
│ │ ├── BenchmarkRunner
│ │ │ ├── AspNetCoreBenchmarkAttribute.cs
│ │ │ ├── DefaultCoreConfig.cs
│ │ │ ├── DefaultCoreDebugConfig.cs
│ │ │ ├── DefaultCorePerfLabConfig.cs
│ │ │ ├── DefaultCoreProfileConfig.cs
│ │ │ ├── DefaultCoreValidationConfig.cs
│ │ │ ├── Directory.Build.props
│ │ │ ├── ParameterizedJobConfigAttribute.cs
│ │ │ ├── ParamsDisplayInfoColumn.cs
│ │ │ └── Program.cs
│ │ ├── CommandLineUtils
│ │ │ ├── CommandLine
│ │ │ │ ├── AnsiConsole.cs
│ │ │ │ ├── CommandArgument.cs
│ │ │ │ ├── CommandLineApplication.cs
│ │ │ │ ├── CommandOption.cs
│ │ │ │ ├── CommandOptionType.cs
│ │ │ │ └── CommandParsingException.cs
│ │ │ ├── Microsoft.Extensions.CommandLineUtils.Sources.projitems
│ │ │ ├── Microsoft.Extensions.CommandLineUtils.Sources.shproj
│ │ │ └── Utilities
│ │ │ │ ├── ArgumentEscaper.cs
│ │ │ │ └── DotNetMuxer.cs
│ │ ├── Directory.Build.props
│ │ ├── EmptyDisposable.cs
│ │ ├── HashCodeCombiner
│ │ │ └── HashCodeCombiner.cs
│ │ ├── NonCapturingTimer
│ │ │ └── NonCapturingTimer.cs
│ │ ├── ParameterDefaultValue
│ │ │ └── ParameterDefaultValue.cs
│ │ ├── TypeNameHelper
│ │ │ └── TypeNameHelper.cs
│ │ └── ValueStopwatch
│ │ │ └── ValueStopwatch.cs
│ └── test
│ │ ├── ArgumentEscaperTests.cs
│ │ ├── CommandLineApplicationTests.cs
│ │ ├── DotNetMuxerTests.cs
│ │ ├── HashCodeCombinerTest.cs
│ │ ├── Microsoft.Extensions.Sources.Tests.csproj
│ │ ├── NonCapturingTimerTest.cs
│ │ ├── TypeNameHelperTest.cs
│ │ └── ValueStopwatchTest.cs
├── TestingUtils
│ ├── Internal.AspNetCore.Analyzers
│ │ ├── src
│ │ │ ├── Internal.AspNetCore.Analyzers.csproj
│ │ │ ├── PubternalityAnalyzer.cs
│ │ │ └── PubturnalityDescriptors.cs
│ │ └── test
│ │ │ ├── Internal.AspNetCore.Analyzers.Tests.csproj
│ │ │ └── PubternabilityAnalyzerTests.cs
│ ├── Microsoft.AspNetCore.Analyzer.Testing
│ │ └── src
│ │ │ ├── Assert.cs
│ │ │ ├── CodeFixRunner.cs
│ │ │ ├── DiagnosticAnalyzerRunner.cs
│ │ │ ├── DiagnosticLocation.cs
│ │ │ ├── DiagnosticProject.cs
│ │ │ ├── DiagnosticVerifier.cs
│ │ │ ├── Microsoft.AspNetCore.Analyzer.Testing.csproj
│ │ │ ├── TestSource.cs
│ │ │ └── build
│ │ │ └── Microsoft.AspNetCore.Analyzer.Testing.props
│ └── Microsoft.AspNetCore.Testing
│ │ ├── src
│ │ ├── CultureReplacer.cs
│ │ ├── ExceptionAssertions.cs
│ │ ├── HttpClientSlim.cs
│ │ ├── Microsoft.AspNetCore.Testing.csproj
│ │ ├── Properties
│ │ │ └── AssemblyInfo.cs
│ │ ├── ReplaceCulture.cs
│ │ ├── TaskExtensions.cs
│ │ ├── TestPathUtilities.cs
│ │ ├── TestPlatformHelper.cs
│ │ ├── Tracing
│ │ │ ├── CollectingEventListener.cs
│ │ │ ├── EventAssert.cs
│ │ │ └── EventSourceTestBase.cs
│ │ ├── contentFiles
│ │ │ └── cs
│ │ │ │ └── netstandard2.0
│ │ │ │ └── EventSourceTestCollection.cs
│ │ └── xunit
│ │ │ ├── ConditionalFactAttribute.cs
│ │ │ ├── ConditionalFactDiscoverer.cs
│ │ │ ├── ConditionalTheoryAttribute.cs
│ │ │ ├── ConditionalTheoryDiscoverer.cs
│ │ │ ├── DockerOnlyAttribute.cs
│ │ │ ├── EnvironmentVariableSkipConditionAttribute.cs
│ │ │ ├── FrameworkSkipConditionAttribute.cs
│ │ │ ├── IEnvironmentVariable.cs
│ │ │ ├── ITestCondition.cs
│ │ │ ├── MinimumOsVersionAttribute.cs
│ │ │ ├── OSSkipConditionAttribute.cs
│ │ │ ├── OperatingSystems.cs
│ │ │ ├── RuntimeFrameworks.cs
│ │ │ ├── SkippedTestCase.cs
│ │ │ ├── TestMethodExtensions.cs
│ │ │ └── WindowsVersions.cs
│ │ └── test
│ │ ├── CollectingEventListenerTest.cs
│ │ ├── ConditionalFactTest.cs
│ │ ├── ConditionalTheoryTest.cs
│ │ ├── DockerTests.cs
│ │ ├── EnvironmentVariableSkipConditionTest.cs
│ │ ├── ExceptionAssertTest.cs
│ │ ├── HttpClientSlimTest.cs
│ │ ├── Microsoft.AspNetCore.Testing.Tests.csproj
│ │ ├── OSSkipConditionAttributeTest.cs
│ │ ├── OSSkipConditionTest.cs
│ │ ├── ReplaceCultureAttributeTest.cs
│ │ ├── TaskExtensionsTest.cs
│ │ ├── TestPathUtilitiesTest.cs
│ │ └── TestPlatformHelperTest.cs
└── WebEncoders
│ ├── Directory.Build.props
│ ├── src
│ ├── EncoderServiceCollectionExtensions.cs
│ ├── Microsoft.Extensions.WebEncoders.csproj
│ ├── Testing
│ │ ├── HtmlTestEncoder.cs
│ │ ├── JavaScriptTestEncoder.cs
│ │ └── UrlTestEncoder.cs
│ ├── WebEncoderOptions.cs
│ └── baseline.netcore.json
│ └── test
│ ├── EncoderServiceCollectionExtensionsTests.cs
│ ├── HtmlTestEncoderTest.cs
│ └── Microsoft.Extensions.WebEncoders.Tests.csproj
└── version.props
/.editorconfig:
--------------------------------------------------------------------------------
1 | ; EditorConfig to support per-solution formatting.
2 | ; Use the EditorConfig VS add-in to make this work.
3 | ; http://editorconfig.org/
4 |
5 | ; This is the default for the codeline.
6 | root = true
7 |
8 | [*]
9 | indent_style = space
10 | charset = utf-8
11 | trim_trailing_whitespace = true
12 | insert_final_newline = true
13 |
14 | [*.cs]
15 | indent_size = 4
16 | dotnet_sort_system_directives_first = true:warning
17 |
18 | [*.{xml,config,*proj,nuspec,props,resx,targets,yml,tasks}]
19 | indent_size = 2
20 |
21 | [*.json]
22 | indent_size = 2
23 |
24 | [*.{ps1,psm1}]
25 | indent_size = 4
26 |
27 | [*.sh]
28 | indent_size = 4
29 | end_of_line = lf
30 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report about something that is not working
4 | ---
5 |
6 | ### Describe the bug
7 | A clear and concise description of what the bug is.
8 |
9 | ### To Reproduce
10 | Steps to reproduce the behavior:
11 | 1. Using version '...' of package '...'
12 | 2. Run this code '....'
13 | 3. With these arguments '....'
14 | 4. See error
15 |
16 | ### Expected behavior
17 | A clear and concise description of what you expected to happen.
18 |
19 | ### Screenshots
20 | If applicable, add screenshots to help explain your problem.
21 |
22 | ### Additional context
23 | Add any other context about the problem here.
24 | Include the output of `dotnet --info`
25 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | ---
5 |
6 | ### Is your feature request related to a problem? Please describe.
7 | A clear and concise description of what the problem is.
8 | Example. I'm am trying to do [...] but [...]
9 |
10 | ### Describe the solution you'd like
11 | A clear and concise description of what you want to happen.
12 |
13 | ### Describe alternatives you've considered
14 | A clear and concise description of any alternative solutions or features you've considered.
15 |
16 | ### Additional context
17 | Add any other context or screenshots about the feature request here.
18 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | Summary of the changes (Less than 80 chars)
2 | - Detail 1
3 | - Detail 2
4 |
5 | Addresses #bugnumber (in this specific format)
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | [Oo]bj/
2 | [Bb]in/
3 | TestResults/
4 | .nuget/
5 | .testPublish/
6 | *.sln.ide/
7 | _ReSharper.*/
8 | packages/
9 | artifacts/
10 | PublishProfiles/
11 | .vs/
12 | bower_components/
13 | node_modules/
14 | **/wwwroot/lib/
15 | debugSettings.json
16 | project.lock.json
17 | *.user
18 | *.suo
19 | *.cache
20 | *.docstates
21 | _ReSharper.*
22 | *.exe
23 | *.psess
24 | *.vsp
25 | *.pidb
26 | *.userprefs
27 | *DS_Store
28 | *.ncrunchsolution
29 | *.*sdf
30 | *.ipch
31 | .settings
32 | *.sln.ide
33 | node_modules/
34 | **/[Cc]ompiler/[Rr]esources/**/*.js
35 | .vscode/
36 | .testPublish/
37 | global.json
38 | BenchmarkDotNet.Artifacts/
39 | *.binlog
40 |
--------------------------------------------------------------------------------
/NuGet.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/build.cmd:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 | PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0build.ps1' %*; exit $LASTEXITCODE"
3 |
--------------------------------------------------------------------------------
/eng/AspNetCore.snk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uhaciogullari/HttpClientFactoryLite/93509804c898e33c0d2e680dfad41d03203e8dca/eng/AspNetCore.snk
--------------------------------------------------------------------------------
/eng/scripts/KillProcesses.ps1:
--------------------------------------------------------------------------------
1 | $ErrorActionPreference = 'Continue'
2 |
3 | taskkill /T /F /IM dotnet.exe
4 | taskkill /T /F /IM testhost.exe
5 | taskkill /T /F /IM iisexpress.exe
6 | taskkill /T /F /IM iisexpresstray.exe
7 | taskkill /T /F /IM w3wp.exe
8 | taskkill /T /F /IM msbuild.exe
9 | taskkill /T /F /IM vbcscompiler.exe
10 | taskkill /T /F /IM git.exe
11 | taskkill /T /F /IM vctip.exe
12 | taskkill /T /F /IM chrome.exe
13 | taskkill /T /F /IM h2spec.exe
14 | iisreset /restart
15 |
16 | exit 0
17 |
--------------------------------------------------------------------------------
/eng/scripts/KillProcesses.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | pkill dotnet || true
4 | exit 0
5 |
--------------------------------------------------------------------------------
/eng/targets/Packaging.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/eng/tools/BaselineGenerator/README.md:
--------------------------------------------------------------------------------
1 | BaselineGenerator
2 | =================
3 |
4 | This tool is used to generate an MSBuild file which sets the "baseline" against which servicing updates are built.
5 |
6 | ## Usage
7 |
8 | 1. Add to the [Baseline.xml](../../Baseline.xml) a list of package ID's and their latest released versions. The source of this information can typically
9 | be found in the build.xml file generated during ProdCon builds. See https://github.com/dotnet/versions/blob/master/build-info/dotnet/product/cli/release/2.1.6/build.xml for example.
10 | - Update the version at the top of Baseline.xml to match prior release (even if no packages changed in the prior release).
11 | 2. Run `dotnet run` on this project.
12 |
--------------------------------------------------------------------------------
/eng/tools/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/eng/tools/Directory.Build.targets:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/korebuild-lock.txt:
--------------------------------------------------------------------------------
1 | version:2.2.1-build-20190104.5
2 | commithash:abf5766bd636c29b089ea2995ada30de00d563ff
3 |
--------------------------------------------------------------------------------
/korebuild.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.2/tools/korebuild.schema.json",
3 | "channel": "release/2.2"
4 | }
5 |
--------------------------------------------------------------------------------
/src/Caching/Abstractions/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | true
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/Caching/Abstractions/src/CacheItemPriority.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 |
4 | namespace Microsoft.Extensions.Caching.Memory
5 | {
6 | // TODO: Granularity?
7 | ///
8 | /// Specifies how items are prioritized for preservation during a memory pressure triggered cleanup.
9 | ///
10 | public enum CacheItemPriority
11 | {
12 | Low,
13 | Normal,
14 | High,
15 | NeverRemove,
16 | }
17 | }
--------------------------------------------------------------------------------
/src/Caching/Abstractions/src/Internal/ISystemClock.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Extensions.Internal
7 | {
8 | ///
9 | /// Abstracts the system clock to facilitate testing.
10 | ///
11 | public interface ISystemClock
12 | {
13 | ///
14 | /// Retrieves the current system time in UTC.
15 | ///
16 | DateTimeOffset UtcNow { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/Caching/Abstractions/src/PostEvictionCallbackRegistration.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 |
4 | namespace Microsoft.Extensions.Caching.Memory
5 | {
6 | public class PostEvictionCallbackRegistration
7 | {
8 | public PostEvictionDelegate EvictionCallback { get; set; }
9 |
10 | public object State { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Caching/Memory/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | true
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/Caching/Memory/src/MemoryDistributedCacheOptions.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 |
4 | namespace Microsoft.Extensions.Caching.Memory
5 | {
6 | public class MemoryDistributedCacheOptions : MemoryCacheOptions
7 | {
8 | public MemoryDistributedCacheOptions()
9 | : base()
10 | {
11 | // Default size limit of 200 MB
12 | SizeLimit = 200 * 1024 * 1024;
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/src/Caching/Memory/src/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 |
4 | using System.Runtime.CompilerServices;
5 |
6 | [assembly: InternalsVisibleTo("Microsoft.Extensions.Caching.Memory.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
7 |
--------------------------------------------------------------------------------
/src/Caching/Memory/test/Infrastructure/TestClock.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Extensions.Internal
7 | {
8 | public class TestClock : ISystemClock
9 | {
10 | public TestClock()
11 | {
12 | UtcNow = new DateTime(2013, 6, 15, 12, 34, 56, 789);
13 | }
14 |
15 | public DateTimeOffset UtcNow { get; set; }
16 |
17 | public void Add(TimeSpan timeSpan)
18 | {
19 | UtcNow = UtcNow + timeSpan;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/Caching/Memory/test/Infrastructure/TokenCallbackRegistration.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) .NET Foundation. All rights reserved.
2 | // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3 |
4 | using System;
5 |
6 | namespace Microsoft.Extensions.Caching.Memory.Infrastructure
7 | {
8 | public class TokenCallbackRegistration : IDisposable
9 | {
10 | public Action