App.Config y DLL

09/01/2008 - 17:31 por Gonzalo Rodríguez Carrera | Informe spam
Hola a todos...

Como algunos ya sabrán hace un par de días he estado peleandome por
ahi para que dsde VB6 pudiese cargar una DLL. Gracias al grupo lo
conseguí y ahora ando añadiendo "programitas" colaterales en .NET a un
programa VB6, el problema es que tengo que añadir uno que realiza
acceso a datos y la conexion está en un app.config...
y claro, la dll se instala en el c:/Windows/Assemblies y no encuentra
el App.Config y por lo tanto no hay conexión...

¿alguna idea?

Gracias de antemano a todos.

Zalo.
Vigo - España

Preguntas similare

Leer las respuestas

#1 Gonzalo Rodríguez Carrera
09/01/2008 - 17:44 | Informe spam
On 9 ene, 18:42, "Robert Barreiro" wrote:
Mm...bueno lo que puedes hacer se me ocurre es pararte sobre el app.config
en el proyecto, vas a Propiedades y en la propiedad Build Action (que debe
estar en None) la cambias por Embedded Resource.

Espero te sea de ayuda. Saludos

"Gonzalo Rodríguez Carrera" escribió en el mensajenews:
Hola a todos...

Como algunos ya sabrán hace un par de días he estado peleandome por
ahi para que dsde VB6 pudiese cargar una DLL. Gracias al grupo lo
conseguí y ahora ando añadiendo "programitas" colaterales en .NET a un
programa VB6, el problema es que tengo que añadir uno que realiza
acceso a datos y la conexion está en un app.config...
y claro, la dll se instala en el c:/Windows/Assemblies y no encuentra
el App.Config y por lo tanto no hay conexión...

¿alguna idea?

Gracias de antemano a todos.

Zalo.
Vigo - España



Probaré ahora mismo. ¡Gracias Robert!
Respuesta Responder a este mensaje
#2 Gonzalo Rodríguez Carrera
09/01/2008 - 18:25 | Informe spam
Creo que no funciona...

Dentro de la dll no puedo hacer debug -la arranco desde una app vb6-,
pero poniendo messagebox linea a linea puedo asegurar que rompe en la
linea:

cnn.ConnectionString ConfigurationManager.ConnectionStrings[strNombreCadenaConexion].ToString();

Que es la primera en que hago uso del ConfigurationManager..
supongo que es porque no consigue cargar ningun app.config...

¿alguna sugerencia?
Respuesta Responder a este mensaje
#3 Pedro Luna Montalvo
09/01/2008 - 18:42 | Informe spam
Saludos,

Vale aclarar. Lo que te sugirió Robert es que incluyas el archivo de
configuración como un recurso embebido dentro del ensamblado, es decir, que
el archivo App.config será agregado dentro de tu DLL. Esto significa que:

1. Debes extraer el recurso embedido primero, para poder leer su contenido.
2. Como el elemento es un recurso embedido en tu DLL, no podrás modificar la
cadena de conexión. Cada vez que necesiten modificarlo, tendrás que
re-compilar el ensamblado.

Te sugiero dos alternativas:

1. Que tu archivo resida en alguna ruta donde tu programa pueda encontrarlo,
por ejemplo que el archivo de configuración siempre resida en: C:\MiApp\; y
entonces cargas el archivo de configuración usando el método:
System.Configuration.ConfigurationManager.OpenExeConfiguration().

2. Que guardes tu configuración en el Register del equipo.

saludos,
Pedro Luna


"Gonzalo Rodríguez Carrera" escribió en el mensaje de
noticias:
Creo que no funciona...

Dentro de la dll no puedo hacer debug -la arranco desde una app vb6-,
pero poniendo messagebox linea a linea puedo asegurar que rompe en la
linea:

cnn.ConnectionString > ConfigurationManager.ConnectionStrings[strNombreCadenaConexion].ToString();

Que es la primera en que hago uso del ConfigurationManager..
supongo que es porque no consigue cargar ningun app.config...

¿alguna sugerencia?
Respuesta Responder a este mensaje
#4 Robert Barreiro
09/01/2008 - 18:42 | Informe spam
Mm...bueno lo que puedes hacer se me ocurre es pararte sobre el app.config
en el proyecto, vas a Propiedades y en la propiedad Build Action (que debe
estar en None) la cambias por Embedded Resource.


Espero te sea de ayuda. Saludos


"Gonzalo Rodríguez Carrera" escribió en el mensaje
news:
Hola a todos...

Como algunos ya sabrán hace un par de días he estado peleandome por
ahi para que dsde VB6 pudiese cargar una DLL. Gracias al grupo lo
conseguí y ahora ando añadiendo "programitas" colaterales en .NET a un
programa VB6, el problema es que tengo que añadir uno que realiza
acceso a datos y la conexion está en un app.config...
y claro, la dll se instala en el c:/Windows/Assemblies y no encuentra
el App.Config y por lo tanto no hay conexión...

¿alguna idea?

Gracias de antemano a todos.

Zalo.
Vigo - España
Respuesta Responder a este mensaje
#5 Gonzalo Rodríguez Carrera
09/01/2008 - 19:05 | Informe spam
Gracias Pedro...

Actualmente ya estaba haciendo yo mi propio fichero de configuración,
es exactamente igual, pero con la ruta en donde yo sepa y pueda
acceder... lo que no sabía, y te agradezco mares, es que puedo usar el
OpenExeConfiguration() para abrir el fichero... en serio, gracias mil.

Lo del registro ya me lo habia planteado pero como se guardan allí las
cadenas de conexion y las claves, y no me interesa que un fisgon lo
vea, sobre todo sabiendo como anda la ley de proteccion de datos..

Bueno, gracias nuevamente.
Nos vemos

Zalo
Vigo - España
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida