2009-07-23 10 views
8

Ho una DLL che accede a un database e legge la stringa di connessione da un'impostazione dell'applicazione memorizzata nel file di configurazione. L'applicazione che fa riferimento a questa DLL dovrà quindi impostare il valore per questa impostazione di configurazione nel suo file di configurazione.Disattiva DefaultSettingValueAttribute Crea su Applicaiton Impostazioni per. Net Application

Il problema che sto avendo è che il codice di configurazione generato utilizza automaticamente la mia stringa di connessione dev come valore predefinito tramite DefaultSettingValueAttribute. Quindi, quando un'applicazione fa riferimento alla mia DLL, funziona senza creare una voce nel proprio file di configurazione perché sta utilizzando il valore predefinito. Questo errore non è stato rilevato fino al momento della distribuzione quando la stringa di connessione dev non era più valida.

C'è un modo per utilizzare il designer per le impostazioni dell'applicazione, ma disattivare la creazione di DefaultSettingValueAttribute in modo che non ci sia un valore predefinito e le applicazioni sono costrette a fornire un valore nella configurazione?

+0

io non sono sicuro che' d essere "forzato" per fornire un'impostazione. Hai provato a rimuoverlo a mano? Che succede. Potrebbe semplicemente rendere l'impostazione predefinita (T): null per i tipi di riferimento, 0 per i numeri interi, ecc. –

+2

Ho provato a rimuovere manualmente, ma quando si modifica una nuova modifica in Progetto-> Proprietà-> Impostazioni allora rigenera DefaultSettingValueAttribute. – Topdown

+0

Questo espone anche le impostazioni di sviluppo nella DLL compilata o EXE (se apri la DLL ou EXE in un editor di testo, prova a cercare il nome utente e la password del tuo database) – MaxiWheat

risposta

15

Selezionare la voce per cui si desidera rimuovere il valore predefinito e, nella finestra Proprietà, impostare GenerateDefaultValueInCode su False.

-2

Questo è in ritardo ma ...

Quando si leggono le impostazioni delle applicazioni, utilizzare My.Settings .TheConfigurationKey invece fuori My.MySettings.Default .TheConfigurationKey

Problemi correlati