Ich kann die App.Config-Datei nicht in die App Domain laden.Laden von app.config in die AppDomain
Ich verwende
[System.AppDomain]::CurrentDomain.SetData("APP_CONFIG_FILE", $config_path)
von Powershell Calling .NET Assembly that uses App.config aber die App.Config Datei ist noch nicht geladen.
Ich habe auch versucht, den Cache wie in Using CurrentDomain.SetData("APP_CONFIG_FILE") doesn't work in PowerShell ISE beschrieben zurückgesetzt.
Hier ist mein Testskript:
$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
Ich bin immer die Verbindungszeichenfolgen in machine.config gespeichert bekommen, eher als die in der App.config.
Wie kann ich meine spezifische App.Config-Datei in die App-Domäne geladen bekommen?
Haben Sie versucht, mit ConfigurationManager.OpenExeConfiguration-Methode? –
Ich habe es gerade versucht und es funktioniert immer noch nicht –
Ich missverstanden die Frage. Es tut uns leid. Können Sie die Konfigurationsdatei nicht in YOUR_APPLICATION_NAME.exe.config umbenennen und in den Anwendungsordner kopieren? Das sollte funktionieren. Die Anwendung lädt diese Datei. –