<PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.0-preview.2.24128.5" />

ImplicitMachineConfigHost

using System.Configuration.Internal; using System.IO; using System.Text; namespace System.Configuration { internal sealed class ImplicitMachineConfigHost : DelegatingConfigHost { private string _machineStreamName; private ConfigurationFileMap _fileMap; private const string ImplicitMachineConfig = "<configuration>\r\n <configSections>\r\n <section name='appSettings' type='System.Configuration.AppSettingsSection, System.Configuration.ConfigurationManager' restartOnExternalChanges='false' requirePermission='false' />\r\n <section name='connectionStrings' type='System.Configuration.ConnectionStringsSection, System.Configuration.ConfigurationManager' requirePermission='false' />\r\n <section name='mscorlib' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n <section name='runtime' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n <section name='assemblyBinding' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n <section name='satelliteassemblies' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n <section name='startup' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' /> <section name='system.runtime.remoting' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n <section name='windows' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n </configSections>\r\n <configProtectedData defaultProvider='RsaProtectedConfigurationProvider'>\r\n <providers>\r\n <add name = 'RsaProtectedConfigurationProvider' type='System.Configuration.RsaProtectedConfigurationProvider, System.Configuration.ConfigurationManager' description='Uses RsaCryptoServiceProvider to encrypt and decrypt' keyContainerName='NetFrameworkConfigurationKey' cspProviderName='' useMachineContainer='true' useOAEP='false' />\r\n <add name = 'DataProtectionConfigurationProvider' type='System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration.ConfigurationManager' description='Uses CryptProtectData and CryptUnProtectData Windows APIs to encrypt and decrypt' useMachineProtection='true' keyEntropy='' />\r\n </providers>\r\n </configProtectedData>\r\n <connectionStrings>\r\n <add name = 'LocalSqlServer' connectionString='data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true' providerName='System.Data.SqlClient' />\r\n </connectionStrings>\r\n</configuration>"; internal ImplicitMachineConfigHost(IInternalConfigHost host) { base.Host = host; } public override void InitForConfiguration(ref string locationSubPath, out string configPath, out string locationConfigPath, IInternalConfigRoot configRoot, params object[] hostInitConfigurationParams) { GetFileMap(hostInitConfigurationParams); base.InitForConfiguration(ref locationSubPath, out configPath, out locationConfigPath, configRoot, hostInitConfigurationParams); } public override void Init(IInternalConfigRoot configRoot, params object[] hostInitParams) { GetFileMap(hostInitParams); base.Init(configRoot, hostInitParams); } private void GetFileMap(object[] parameters) { foreach (object obj in parameters) { _fileMap = (obj as ConfigurationFileMap); if (_fileMap != null) break; } } public override string GetStreamName(string configPath) { string streamName = base.GetStreamName(configPath); if (ConfigPathUtility.GetName(configPath) == "MACHINE" && (_fileMap?.IsMachinePathDefault ?? true)) _machineStreamName = streamName; return streamName; } public override Stream OpenStreamForRead(string streamName) { Stream stream = base.OpenStreamForRead(streamName); if (stream == null && streamName == _machineStreamName) stream = new MemoryStream(Encoding.UTF8.GetBytes("<configuration>\r\n <configSections>\r\n <section name='appSettings' type='System.Configuration.AppSettingsSection, System.Configuration.ConfigurationManager' restartOnExternalChanges='false' requirePermission='false' />\r\n <section name='connectionStrings' type='System.Configuration.ConnectionStringsSection, System.Configuration.ConfigurationManager' requirePermission='false' />\r\n <section name='mscorlib' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n <section name='runtime' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n <section name='assemblyBinding' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n <section name='satelliteassemblies' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n <section name='startup' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' /> <section name='system.runtime.remoting' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n <section name='windows' type='System.Configuration.IgnoreSection, System.Configuration.ConfigurationManager' allowLocation='false' />\r\n </configSections>\r\n <configProtectedData defaultProvider='RsaProtectedConfigurationProvider'>\r\n <providers>\r\n <add name = 'RsaProtectedConfigurationProvider' type='System.Configuration.RsaProtectedConfigurationProvider, System.Configuration.ConfigurationManager' description='Uses RsaCryptoServiceProvider to encrypt and decrypt' keyContainerName='NetFrameworkConfigurationKey' cspProviderName='' useMachineContainer='true' useOAEP='false' />\r\n <add name = 'DataProtectionConfigurationProvider' type='System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration.ConfigurationManager' description='Uses CryptProtectData and CryptUnProtectData Windows APIs to encrypt and decrypt' useMachineProtection='true' keyEntropy='' />\r\n </providers>\r\n </configProtectedData>\r\n <connectionStrings>\r\n <add name = 'LocalSqlServer' connectionString='data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true' providerName='System.Data.SqlClient' />\r\n </connectionStrings>\r\n</configuration>")); return stream; } } }