/ / Jak określić nazwę pliku App.config mojej aplikacji w WPF? - c #, wpf, wcf, app-config

Jak określić nazwę pliku App.config mojej aplikacji w WPF? - c #, wpf, wcf, app-config

To bardzo frustrujące ... Mogę ustawić plik konfiguracyjny dla aplikacji Windows Forms. Rozważ to:

public static void Main(){
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @"SharedAppConfig.config");
//do other things
}

Jednak w aplikacji WPF tak się nie wydajepracować! Jeśli ustawię tę wartość, wartość właściwości AppDomain.CurrentDomain.SetupInformation.ConfigurationFile jest poprawna, ale wszelkie wywołania tego pliku konfiguracji podczas debugowania nie dają wyników. Istnieją ustawienia konfiguracji WCF w App.config, które muszę udostępniać między aplikacjami, więc jest to moje proponowane rozwiązanie. Czy jest możliwe dynamiczne ustawienie położenia mojego pliku konfiguracyjnego w WPF?

Wsparcie! Dzięki!

Odpowiedzi:

2 dla odpowiedzi № 1

Powinieneś być w stanie zrobić coś na wzór:

using System.Configuration;

public class TryThis
{
Configuration config = ConfigurationManager.OpenExeConfiguration("C:PathToapp.exe");

public static void Main()
{
// Get something from the config to test.
string test = config.AppSettings.Settings["TestSetting"].Value;

// Set a value in the config file.
config.AppSettings.Settings["TestSetting"].Value = test;

// Save the changes to disk.
config.Save(ConfigurationSaveMode.Modified);
}
}

UWAGA: Spowoduje to otwarcie pliku o nazwie aplikacji.exe.config w C: PathTo. To również WYMAGA, że plik istnieje w tej samej ścieżce o nazwie "app.exe". Plik "app.exe" może być jednak pustym plikiem. W twoim przypadku prawie zrobiłbym udostępnioną bibliotekę "Config.dll", która obsługiwałaby plik konfiguracyjny.

~ md5sum ~


0 dla odpowiedzi nr 2

Czy to po stronie usługi lub po stronie klienta? Jeśli po stronie usługi, często zdarza się, że usługa działa we własnej aplikacji AppDomain, tak więc jeśli ustawisz AppDomain.CurrentDomain.SetData (...), nie zostanie ona zastosowana do konfiguracji usługi.

Nie jestem do końca pewien, jak sobie z tym poradzić, ale powinieneś być w stanie kontrolować konfigurację usługi poprzez wdrożenie własnego ServiceHost.