Problemas con ruta de acceso a un xml

12/04/2005 - 16:47 por andy O | Informe spam
Hola a todos.

Tengo dos proyectos ditintos uno es una clase que lee un archivo mediante un
método estático

public static string dameBDConexion(){

System.IO.StreamReader stream = new System.IO.StreamReader ("Base.xml");
...

}

y otro proyecto que es una consola de prueba, que llama al metodo estático.

El problema es que me da una excepcion de archivo no encontrado. viendo los
logs de error, me percato que el archivo base.xml lo esta buscando en el
directorio debug del proyecto consola y no en el proyecto que lee el XML.

¿Cómo hago para que en lugar de leer desde la ruta que invoca al metodo lo
lea desde el proyecto que implementa la lectura a dicho archivo xml?

Espero que me ayuden
Gracias.

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
12/04/2005 - 17:10 | Informe spam
Andy,

Puedes usar el método estático
System.Reflection.Assembly.GetExecutingAssembly() para obtener la ruta
completa de tu librería. Usando la clase System.IO.Path extraes el
directorio, y se lo concatenas por delante a "Base.xml".

Slds - Octavio

"andy O" escribió en el mensaje
news:
Hola a todos.

Tengo dos proyectos ditintos uno es una clase que lee un archivo mediante
un
método estático

public static string dameBDConexion(){

System.IO.StreamReader stream = new System.IO.StreamReader ("Base.xml");
...

}

y otro proyecto que es una consola de prueba, que llama al metodo
estático.

El problema es que me da una excepcion de archivo no encontrado. viendo
los
logs de error, me percato que el archivo base.xml lo esta buscando en el
directorio debug del proyecto consola y no en el proyecto que lee el XML.

¿Cómo hago para que en lugar de leer desde la ruta que invoca al metodo lo
lea desde el proyecto que implementa la lectura a dicho archivo xml?

Espero que me ayuden
Gracias.




Respuesta Responder a este mensaje
#2 Unai Zorrilla Castro
12/04/2005 - 17:15 | Informe spam
Bueno, antes de responder una cosilla ¿ por que no usas un
appConfig para guardar este tipo de cosillas ?.
Lo segundo, supongo que la lectura la haces con algo asi
como XmlDocument ¿no? pues en el Load mete un ./base.xml
para la carga.

Saludos
Unai Zorrilla Castro
Hola a todos.

Tengo dos proyectos ditintos uno es una clase que lee un


archivo mediante un
método està¡tico

public static string dameBDConexion(){

System.IO.StreamReader stream = new


System.IO.StreamReader ("Base.xml");


}

y otro proyecto que es una consola de prueba, que llama


al metodo està¡tico.

El problema es que me da una excepcion de archivo no


encontrado. viendo los
logs de error, me percato que el archivo base.xml lo esta


buscando en el
directorio debug del proyecto consola y no en el


proyecto que lee el XML.

¿Cómo hago para que en lugar de leer desde la ruta que


invoca al metodo lo
lea desde el proyecto que implementa la lectura a dicho


archivo xml?

Espero que me ayuden
Gracias.




.

Respuesta Responder a este mensaje
#3 andy O
12/04/2005 - 18:09 | Informe spam
Gracias Octavio
Gracias Unai.

Respondiendo a Unai no usé el appConfig debido a que tuve problemas de
lectura.
En el caso de aplicaciones Web y exes si me ha funcionado, pero en el caso
de una clase, ¿cómo hago para que pueda leerlo?, en el caso del
app.exe.config , pero el caso de la clase ¿cuál es el formato?

"Unai Zorrilla Castro" escribió:


Bueno, antes de responder una cosilla ¿ por que no usas un
appConfig para guardar este tipo de cosillas ?.
Lo segundo, supongo que la lectura la haces con algo asi
como XmlDocument ¿no? pues en el Load mete un ./base.xml
para la carga.

Saludos
Unai Zorrilla Castro
>Hola a todos.
>
>Tengo dos proyectos ditintos uno es una clase que lee un
archivo mediante un
>método està¡tico
>
>public static string dameBDConexion(){
>
>System.IO.StreamReader stream = new
System.IO.StreamReader ("Base.xml");
>
>
>}
>
> y otro proyecto que es una consola de prueba, que llama
al metodo està¡tico.
>
>El problema es que me da una excepcion de archivo no
encontrado. viendo los
>logs de error, me percato que el archivo base.xml lo esta
buscando en el
>directorio debug del proyecto consola y no en el
proyecto que lee el XML.
>
>¿Cómo hago para que en lugar de leer desde la ruta que
invoca al metodo lo
>lea desde el proyecto que implementa la lectura a dicho
archivo xml?
>
>Espero que me ayuden
>Gracias.
>
>
>
>
>.
>

Respuesta Responder a este mensaje
#4 andy O
12/04/2005 - 18:53 | Informe spam
He probado ambos métodos pero me devuelven la ruta de la consola y no la de
la clase que lee el xml.

¿Qué está sucediendo?
Respuesta Responder a este mensaje
#5 Octavio Hernandez
12/04/2005 - 22:06 | Informe spam
Andy,

Yo supuse que querías obtener la ruta de la DLL *DESDE DENTRO* de la propia
DLL. ¿No es así?
Si es desde la aplicación, entonces creo que es mejor que utilices un
fichero de configuración.

Slds - Octavio

"andy O" escribió en el mensaje
news:
He probado ambos métodos pero me devuelven la ruta de la consola y no la
de
la clase que lee el xml.

¿Qué está sucediendo?

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida