PowerShell 5 AppSettings的错误?

我升级到PowerShell v5.0.10586.117,现在我无法从我的app.config文件访问AppSettings。 该代码适用于PowerShell v4(我已经在安装了v4的其他计算机上试过了,它从AppSettings返回数据)。

我在PowerShell中设置了应用程序configuration

[System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $AppConfigPath) 

我可以validation当前域名是否具有应用程序设置

 [System.AppDomain]::CurrentDomain.GetData("APP_CONFIG_FILE") 

返回PATH\App.config但是当我运行

 [System.Configuration.ConfigurationManager]::AppSettings.count 

PowerShell v5返回: 0

但在PowerShell v4(Windows 7,Windows Server 2008 R2 Enterprise等)上返回: 5

为什么PowerShell 5与PowerShell 4的行为有所不同? 这是一个错误? 任何想法如何解决应用程序设置的问题?

[更多信息]

我曾尝试做一个解决

  $configFile = System.Configuration.ConfigurationManager]::OpenExeConfiguration([System.Configuration.ConfigurationUserLevel]::None) $settings = $configFile.AppSettings.Settings $retVal = $settings[$keyName].Value $configFile.Save([System.Configuration.ConfigurationSaveMode]::Modified) [System.Configuration.ConfigurationManager]::RefreshSection($configFile.AppSettings.SectionInformation.Name) 

使用$ retVal进行这个工作,我可以从我期望的AppSettings中获取数据,但是稍后在我导入的.dll文件中会失败,并希望App Config数据存在。

[更新1]:我在Windows 8,Windows 8.1和Server 2012上升级到PowerShell 5,并得到同样的问题。 更新了标题和问题描述,以反映它在我testing过的所有PowerShell 5实例上。

[更新2]:

Per @PetSerAl,我发现如果在设置configuration文件之前尝试获取AppSetting,我将在PowerShell v4中遇到同样的问题

 [System.Configuration.ConfigurationManager]::AppSettings [System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $AppConfigPath) [System.Configuration.ConfigurationManager]::AppSettings.Count 

在PowerShell v4中返回0

如果我把我的应用程序configuration文件移动到C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe.config那么我没有问题的数据返回,也没有问题与外部dll, m加载,期望在应用程序configuration信息

这似乎是早期版本的PowerShell 5中的一个错误。我已经升级到PowerShell 5.1.14409.1005,问题已经解决。