Impossibile caricare il file App.Config nel dominio dell'app.Caricamento app.config nell'AppDomain
sto usando
[System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $config_path)
dal Powershell Calling .NET Assembly that uses App.config ma il file app.config non è ancora caricato.
Ho anche provato a resettare la cache come spiegato in Using CurrentDomain.SetData("APP_CONFIG_FILE") doesn't work in PowerShell ISE.
Ecco il mio script di test:
$configFile = "{ActualPhysicalPath}\App.Config"
gc $configFile
Add-Type -AssemblyName System.Configuration
[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)
[Configuration.ConfigurationManager]::ConnectionStrings[0].Name
[System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $null)
[Configuration.ConfigurationManager]::ConnectionStrings[0].Name
[System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $configFile)
[Configuration.ConfigurationManager]::ConnectionStrings[0].Name
sto ottenendo sempre le stringhe di connessione memorizzate nel machine.config, piuttosto che quelli nel App.config.
Come posso ottenere il mio specifico file App.Config caricato nel dominio dell'app?
Hai provato a utilizzare il metodo ConfigurationManager.OpenExeConfiguration? –
Ho appena provato e non funziona ancora –
ho frainteso la domanda. Scusate. Non puoi rinominare il file di configurazione su YOUR_APPLICATION_NAME.exe.config e copiarlo nella cartella dell'applicazione? Questo dovrebbe funzionare. L'applicazione caricherà quel file. –