Z tego, co mogę powiedzieć, rozglądając się, wydaje się, że plik ustawień i projektant zapewniają rodzaj opakowania dla pliku konfiguracyjnego. Projektant ustawień kontroluje niektóre wartości, które trafiają do pliku konfiguracyjnego, ale także modyfikuje plik .settings
w katalogu Właściwości i zmienia wygenerowany kod w pliku Settings.Designer.cs
.
Zauważ, że w pliku konfiguracyjnym wartości nie mają żadnych typów, ale w pliku .settings
są. Teraz otwórz Settings.Designer.cs
. Zobaczysz, że wygenerowany tam kod pobiera wartości z pliku konfiguracyjnego i rzuca je do odpowiednich typów, określonych w pliku .settings
lub projektanta ustawień. Dlatego zapewnia bezpieczny interfejs dla wartości w pliku konfiguracyjnym. Jeśli zmienisz wartość w pliku konfiguracyjnym, następnym razem, gdy przejdziesz do projektanta ustawień, pojawi się pytanie, czy chcesz zaktualizować .settings
, aby odzwierciedlić te zmiany.
Aby odpowiedzieć na twoje pytanie, po wdrożeniu aplikacji możesz zmienić wartość w pliku konfiguracyjnym, o ile można go przesłać do odpowiedniego typu, w przeciwnym razie zgaduję, że nie powiedzie się w Settings.Designer.cs
. Jedynym celem, jaki widzę, wydaje się być bezpieczeństwo i wygoda projektanta w zakresie obsługi pliku konfiguracyjnego XML.
Również na marginesie, pamiętaj, że ponieważ config nie jest wersjonowanym plikiem, instalatorzy nie zaktualizują go na komputerze klienta. Nie pozwoli to na wymuszenie zmian użytkownika. Więc jeśli zostanie wdrożony, jeśli wprowadzisz własne zmiany do konfiguracji, której będą potrzebować użytkownicy, będą musieli skopiować zmiany ręcznie.
Podobny do http://stackoverflow.com/questions/13100498/c-sharp-app-config-vs-settings-file, który oferuje dodatkowy wgląd. –