我正在运行我的c#程序集,形成一个Azure Runtime PowerShell,从而直接读取程序集。唯一的问题是它无法找到默认的app.config文件。
要解决此问题,我想通过提供配置文件的路径将配置直接加载到内存中。这可能吗,我应该怎么做?
我的目标是将另一个文件而不是app.config,例如mycustom.config读入配置管理器。
解决方案: https://stackoverflow.com/a/6151688/1408786
编辑: 这也适用于我,在源代码中保存硬编码的配置文件位置。
[System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $configPath)
[Configuration.ConfigurationManager].GetField("s_initState", "NonPublic, Static").SetValue($null, 0)
[Configuration.ConfigurationManager].GetField("s_configSystem", "NonPublic, Static").SetValue($null, $null)
([Configuration.ConfigurationManager].Assembly.GetTypes() | where {$_.FullName -eq "System.Configuration.ClientConfigPaths"})[0].GetField("s_current", "NonPublic, Static").SetValue($null, $null)
[System.Configuration.ConfigurationManager]::AppSettings
[System.Configuration.ConfigurationManager]::ConnectionStrings