none
Rutas relativas y Rutas Absolutas RRS feed

  • Pregunta

  • Saludos! 

    Pueden apoyarme, estoy creando una practica basada en c# donde lo único que hago es mostrar un documento PDF, sin embargo cuando coloco la ruta de mi recurso se carga específicamente desde el fichero raíz lo que me genera un inconveniente al momento de ejecutar mi proyecto desde otro equipo.

    objetivo: abrir un documento pdf sin importar que mi ejecutable cambie de equipo en ejecución 

    Les muestro un parte de código de lo que estoy implementando : 

    LoadFile(@"D:\Proyecto\proyecto\Resources\Doc.pdf");

    viernes, 13 de septiembre de 2019 14:55

Respuestas

  • hola

    Si ubicas el pdf junto al .exe entonces podrias usar el

    Application.StartupPath

    para tomar la ruta donde esta la applicacion ejecutando

    string fullPath = Path.Combine(Application.StartupPath, @"Resources\Doc.pdf");
    
    LoadFile(fullPath);

    por supuesto si ejecutas desde el VS valida que el pdf se copie al \bin\Debug que es donde se genera el .exe

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 13 de septiembre de 2019 15:13
  • Pero ojo con lo de ubicar el PDF en la ruta del ejecutable. Esto está bien si el PDF es "fijo" y se instala a la vez que el programa. Pero si es un documento que el programa tiene que salvar en tiempo de ejecución, entonces el problema es que la ruta del ejecutable será de solo-lectura para los usuarios si se siguen los estándares y se instala bajo "Archivos de Programa". En un caso así, es preferible ubicar el archivo en una ruta independiente del ejecutable, típicamente en alguna carpeta bajo "Mis documentos".
    viernes, 13 de septiembre de 2019 15:53
  • En efecto solo sera de tipo lectura a modo de prueba, sin embargo ahora me encuentro con otro problema, para poder leer el archivo pdf lo que hago es utilizar la librería axAcroPDF sin embargo al utilizar el enrutamiento string fullPath = Path.Combine(Application.StartupPath, @"Resources\Doc.pdf"); solo me carga el contro

    pero no el archivo!

    Como podría incorporar esto en un webBrowser?

    viernes, 13 de septiembre de 2019 17:10
  • hola

    >>sin embargo al utilizar el enrutamiento stringfullPath = Path.Combine(Application.StartupPath, @"Resources\Doc.pdf"); solo me carga el contro

    validaste que el pdf este en esa carpeta? recuerda que si ejecutas desde el Visual Studio debes poner el pdf junto al exe en el \bin\Debug

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 13 de septiembre de 2019 22:17

Todas las respuestas

  • hola

    Si ubicas el pdf junto al .exe entonces podrias usar el

    Application.StartupPath

    para tomar la ruta donde esta la applicacion ejecutando

    string fullPath = Path.Combine(Application.StartupPath, @"Resources\Doc.pdf");
    
    LoadFile(fullPath);

    por supuesto si ejecutas desde el VS valida que el pdf se copie al \bin\Debug que es donde se genera el .exe

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 13 de septiembre de 2019 15:13
  • Pero ojo con lo de ubicar el PDF en la ruta del ejecutable. Esto está bien si el PDF es "fijo" y se instala a la vez que el programa. Pero si es un documento que el programa tiene que salvar en tiempo de ejecución, entonces el problema es que la ruta del ejecutable será de solo-lectura para los usuarios si se siguen los estándares y se instala bajo "Archivos de Programa". En un caso así, es preferible ubicar el archivo en una ruta independiente del ejecutable, típicamente en alguna carpeta bajo "Mis documentos".
    viernes, 13 de septiembre de 2019 15:53
  • En efecto solo sera de tipo lectura a modo de prueba, sin embargo ahora me encuentro con otro problema, para poder leer el archivo pdf lo que hago es utilizar la librería axAcroPDF sin embargo al utilizar el enrutamiento string fullPath = Path.Combine(Application.StartupPath, @"Resources\Doc.pdf"); solo me carga el contro

    pero no el archivo!

    Como podría incorporar esto en un webBrowser?

    viernes, 13 de septiembre de 2019 17:10
  • hola

    >>sin embargo al utilizar el enrutamiento stringfullPath = Path.Combine(Application.StartupPath, @"Resources\Doc.pdf"); solo me carga el contro

    validaste que el pdf este en esa carpeta? recuerda que si ejecutas desde el Visual Studio debes poner el pdf junto al exe en el \bin\Debug

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 13 de septiembre de 2019 22:17