2009-07-23 13 views
8

Tengo un archivo DLL que accede a una base de datos y lee la cadena de conexión desde una configuración de aplicación almacenada en el archivo de configuración. La aplicación que hace referencia a este archivo DLL tendrá que establecer el valor de esta configuración en su archivo de configuración.Desactivar DefaultSettingValueAttribute Crear en Configuración de aplicación para .NET Application

El problema que tengo es que el código de configuración generado utiliza automáticamente mi cadena de conexión dev como valor predeterminado a través del DefaultSettingValueAttribute. Luego, cuando una aplicación hace referencia a mi DLL, funciona sin crear una entrada en su propio archivo de configuración porque está utilizando el valor predeterminado. Este error no se detectó hasta el momento del despliegue cuando la cadena de conexión dev ya no era válida.

¿Hay alguna manera de utilizar el diseñador para la configuración de la aplicación pero desactivar la creación del DefaultSettingValueAttribute para que no haya ningún valor predeterminado y las aplicaciones se vean obligadas a proporcionar un valor en la configuración?

+0

No estoy seguro de que' d ser "forzado" a proporcionar una configuración. ¿Has intentado eliminarlo a mano? Lo que pasa. Puede hacer que la configuración sea la predeterminada (T): null para tipos de referencia, 0 para enteros, etc. –

+2

He intentado eliminar manualmente, pero cuando realiza una nueva edición a la configuración en Proyecto-> Propiedades-> Configuración, entonces regenera DefaultSettingValueAttribute. – Topdown

+0

Esto también expone la configuración del desarrollador en el archivo DLL o EXE compilado (si abre el archivo DLL o EXE en un editor de texto, intente buscar su nombre de usuario y contraseña de la base de datos) – MaxiWheat

Respuesta

15

Seleccione la entrada para la que desea eliminar el valor predeterminado y, en la ventana Propiedades, establezca GenerateDefaultValueInCode en False.

-2

Ésta es tarde, pero ...

Al leer los parámetros de la aplicación, utilice My.Settings .TheConfigurationKey lugar fuera My.MySettings.Default .TheConfigurationKey

Cuestiones relacionadas