Dodałem wiele plików app.config (każdy z inną nazwą) do projektu i ustawiłem je tak, aby były kopiowane do katalogu wyjściowego każdej kompilacji.ConfigurationManager.OpenExeConfiguration - ładuje zły plik?
Staram i dostęp do zawartości każdego pliku przy użyciu to:
System.Configuration.Configuration o = ConfigurationManager.OpenExeConfiguration(@"app1.config");
Kod działa, ale o.HasFile kończy się fałsz i o.FilePath kończy się „app1.config.config”. Jeśli zmienię do kodu:
System.Configuration.Configuration o = ConfigurationManager.OpenExeConfiguration(@"app1");
Następnie bomby kod z „Wystąpił błąd ładowania pliku konfiguracyjnego: Parametr«exePath»jest nieprawidłowa nazwa parametru. ExePath”.
Jeśli skopiuję/wklejam plik konfiguracyjny (więc kończę z app1.config i app1.config.config), to kod działa dobrze, jednak założę, że to nie jest dobre rozwiązanie. Moje pytanie brzmi: w jaki sposób mogę użyć ConfigurationManager.OpenExeConfiguration, aby załadować plik konfiguracyjny poprawnie?
Pamiętaj, że możesz przekazać dowolną ścieżkę do zespołu, a nie tylko exe. Podajesz "SomeLib.dll", otworzy się "SomeLib.dll.config". Jest to przydatne, gdy projekt .NET jest tak naprawdę wtyczką do innej aplikacji, dla której nie chcesz wdrażać pliku .config obok jego pliku wykonywalnego. – Ludovic
Jednak kiedy umieściłem plik o nazwie app.config w katalogu biblioteki dll, używając "app" jako parametru exePath, musiałem zmienić nazwę pliku do aplikacji, zanim zadziałało ... – tobbenb3