2009-07-23 9 views
8

Mam bibliotekę DLL, która uzyskuje dostęp do bazy danych i odczytuje ciąg połączenia z ustawienia aplikacji zapisanego w pliku konfiguracyjnym. Aplikacja odwołująca się do tej biblioteki DLL będzie musiała ustawić wartość dla tego ustawienia konfiguracyjnego w pliku konfiguracyjnym.Wyłącz ustawienie DefaultSettingValueAttribute Utwórz na ustawieniach aplikacji .Net Application

Problem polegający na tym, że wygenerowany kod konfiguracji automatycznie używa mojego ciągu połączenia z devinem jako wartości domyślnej poprzez DefaultSettingValueAttribute. Wtedy, gdy aplikacja odwołuje się do mojej biblioteki DLL, działa bez tworzenia wpisu we własnym pliku konfiguracyjnym, ponieważ używa wartości domyślnej. Ten błąd nie został przechwycony do czasu wdrożenia, gdy ciąg połączenia z dev nie był już ważny.

Czy istnieje sposób użycia projektanta do ustawień aplikacji, ale wyłączenie tworzenia DefaultSettingValueAttribute, tak aby nie było wartości domyślnej i aplikacje są zmuszone do podania wartości w konfiguracji?

+0

nie jestem pewien, że” d być "zmuszonym" do zapewnienia ustawienia. Czy próbowałeś usunąć go ręcznie? Co się dzieje. Może to spowodować, że ustawienie będzie domyślne (T): null dla typów odniesienia, 0 dla liczb całkowitych itd. –

+2

Próbowałem usunąć usunięcie ręcznie, ale kiedy dokonasz nowej edycji ustawień w Project-> Properties-> Settings Regeneruje wartość DefaultSettingValueAttribute. – Topdown

+0

To również ujawnia ustawienia dewelopera w skompilowanej bibliotece DLL lub EXE (jeśli otworzysz plik DLL ou EXE w edytorze tekstu, spróbuj wyszukać nazwę użytkownika i hasło do bazy danych) – MaxiWheat

Odpowiedz

15

Wybierz pozycję, dla której chcesz usunąć domyślną wartość, aw oknie Właściwości ustaw wartość GenerateDefaultValueInCode na False.

-2

Jest późno, ale ...

Czytając ustawienia aplikacji, użyj My.Settings .TheConfigurationKey zamiast off My.MySettings.Default .TheConfigurationKey

Powiązane problemy