
Obtener Ruta Carpeta winform C#
Publicado por Carlos (3 intervenciones) el 11/06/2014 17:19:45
En mi proyecto winform, he creado una carpeta llamada Archivo, dentro tengo un archivo de texto llamado Log.txt
Tengo problemas al obtener la ruta de ese archivo. A continuacion les muestro mi codigo:
string appPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
string dbPath = @"Archivos\Log.txt";
string fullpath = Path.Combine(appPath, dbPath);
Los resultados son los siguientes:
appPath = "C:\\Users\\T_BIBLIOTECA\\Desktop\\Batch_Biblioteca\\EnvioNotificaciones\\bin\\Debug"
dbPath = "Archivos\\Log.txt"
fullpath = "C:\\Users\\T_BIBLIOTECA\\Desktop\\Batch_Biblioteca\\EnvioNotificaciones\\bin\\Debug\\Archivos\\Log.txt"
El resultado de appPath me da como resultado la ruta completa hasta el debug cuando la carpeta Archivo esta al mismo nivel que la carpeta bin. Deberia devolverme:
fullpath = "C:\\Users\\T_BIBLIOTECA\\Desktop\\Batch_Biblioteca\\EnvioNotificaciones\\Archivos\\Log.txt", osea, eliminar \\bin\\Debug.
ahora, eso lo puedo arreglar obteniendo el fullpath y hacerle .Substring(0, 67); quitandole el bin y debug y obteniendo satisfactoriamente la ruta que deseo, pero el problema esta en que al momento de pasar a produccion, va a ocurrir un error, ya que del fullpath lo leo del 0 a 67, pero eso cambia ya que la Carpeta donde esta el codigo fuente, es decir "BATCH_BIBLIOTECA", no siempre va a ser la misma. le pueden cambiar de nombre y ya no seria de 0 a 67, sino de 0 a un numero menor a 67.
Espero me hayan entendido. De todas maneras seguire intentando.
Saludos.
Tengo problemas al obtener la ruta de ese archivo. A continuacion les muestro mi codigo:
string appPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
string dbPath = @"Archivos\Log.txt";
string fullpath = Path.Combine(appPath, dbPath);
Los resultados son los siguientes:
appPath = "C:\\Users\\T_BIBLIOTECA\\Desktop\\Batch_Biblioteca\\EnvioNotificaciones\\bin\\Debug"
dbPath = "Archivos\\Log.txt"
fullpath = "C:\\Users\\T_BIBLIOTECA\\Desktop\\Batch_Biblioteca\\EnvioNotificaciones\\bin\\Debug\\Archivos\\Log.txt"
El resultado de appPath me da como resultado la ruta completa hasta el debug cuando la carpeta Archivo esta al mismo nivel que la carpeta bin. Deberia devolverme:
fullpath = "C:\\Users\\T_BIBLIOTECA\\Desktop\\Batch_Biblioteca\\EnvioNotificaciones\\Archivos\\Log.txt", osea, eliminar \\bin\\Debug.
ahora, eso lo puedo arreglar obteniendo el fullpath y hacerle .Substring(0, 67); quitandole el bin y debug y obteniendo satisfactoriamente la ruta que deseo, pero el problema esta en que al momento de pasar a produccion, va a ocurrir un error, ya que del fullpath lo leo del 0 a 67, pero eso cambia ya que la Carpeta donde esta el codigo fuente, es decir "BATCH_BIBLIOTECA", no siempre va a ser la misma. le pueden cambiar de nombre y ya no seria de 0 a 67, sino de 0 a un numero menor a 67.
Espero me hayan entendido. De todas maneras seguire intentando.
Saludos.
Valora esta pregunta


0