2010-04-12 16 views
6

¿Alguien sabe si es posible crear una única cadena de conexión a la que todos los proyectos de una solución tendrán acceso (tenemos alrededor de 6).Cómo creo una Cadena de conexión amplia de solución

Puedo crear un archivo de texto con esta información, pero también necesitamos soporte de tiempo de diseño, y no es práctico tener una cadena de conexión en cada archivo App.Config y Web.config en la solución.

básicamente queremos una cadena de conexión simple que es fácil de cambiar si la ubicación del cambio db, que también será utilizado por el IDE para el apoyo tiempo de diseño

+0

Primero, soy un desarrollador de delphi y muy nuevo en el entorno .Net ... Si puedo dar algo más información: Tenemos 1 EXE, 1 aplicación web y numerosas DLL. Queremos que todos los proyectos puedan acceder a estos en tiempo de ejecución Y tiempo de diseño – Renier

Respuesta

2

No estoy seguro, ¿no puedes poner un nuevo archivo de configuración para los elementos de la solución e incluirlo y cargarlo en todos los proyectos?

Editar: Estoy hablando específicamente de un archivo de configuración general (XML), no un "App.config". Tiene exactamente el mismo formato, solo tiene un nombre diferente. Agregue este archivo a sus elementos de solución y acceda a él usando OpenMappedExeConfiguration. Puede encontrar un ejemplo adicional here.

+0

Esto no parece posible ... pero también podría extrañar algo. Como mencioné en el comentario anterior, soy bastante nuevo en .net – Renier

+0

OK Esto se está volviendo muy útil ahora. También he logrado escribir una función muy similar. El mismo principio se aplicará. En el archivo Settings.settings de nuestra DLL, he declarado una cadena de conexión. Se puede acceder a esto de la siguiente manera para FormName.Designer.cs this._connection.ConnectionString = global :: MyDLL.Properties.Settings.Default.MyConnectionString; La última pregunta que tengo, los archivos * .designer.cs son generados por el sistema. Si yo fuera la cadena de conexión en el archivo designer.cs, y luego realice cambios en el diseñador visual, ¿eliminará esta adición manual que he agregado? – Renier

+0

Lo siento, no lo sé. Tal vez solo probarlo? :) – mafu

1

pon la cadena de conexión en la configuración de tu proyecto "principal". Cree un proyecto de acceso a datos con una propiedad connectionstring. Establezca esta propiedad cuando inicialice su proyecto y use el proyecto de acceso a datos para todas las acciones relacionadas con la base de datos en los 6 proyectos

+0

Eso solo funcionará si hay un proyecto principal, no si, p. varios proyectos producen cada uno .exe. – nos

+0

También puede usar la conexión en el archivo de configuración del proyecto de acceso a datos. De esta manera solo lo tienes en un solo lugar – Ivo

+0

Ivo ... Esto es básicamente lo que probamos ... pero solo puedo acceder a él en tiempo de ejecución. También necesitamos soporte de tiempo de diseño (especialmente para los informes de DevXpress). Estamos corriendo en una base de datos postgreSQL y usamos los componentes UniDirect de Devart. – Renier

Cuestiones relacionadas