Правильно задать путь к файлу, который находится в папке в директории приложения - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Использую в своей программе файлы настроек, лог файл и т.д. Все файлы ложу в папку с проектом/bin/Debug Затем к ним обращался следующим образом:
AppDomain.CurrentDomain.BaseDirectory+"\\config.ini"
Затем я захотел для лог-файлов создать отдельную папку log в папке Debug Прописывал вот так:
AppDomain.CurrentDomain.BaseDirectory+"\\log\\log.txt"
Но безуспешно. Выдаёт ошибку что так путь задавать нельзя. Второй вопрос: как будут считываться файлы, если программа упакуется в свою папку, уже не debug и переместиться в в другое место на диске (например на другой машине). Сработает ли вышеуказанный способ? Спасибо! )
Попытался сделать вот так:
string text = "My message";
File.AppendAllText(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), text);
Выдало исключение : Отказано в доступе по пути : D\...\....\....\bin\Debug

Решение задачи: «Правильно задать путь к файлу, который находится в папке в директории приложения»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.IO;
 
namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            string myPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "LOG");
            if (!Directory.Exists(myPath))
            {
                Directory.CreateDirectory(myPath);
                Stream fs = File.Create(Path.Combine(myPath, "log.txt"));
                using (StreamWriter sw = new StreamWriter(fs))
                {
                    sw.WriteLine("Here the log text in file!");
                }
            }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы