Получить путь к файлу в текущем проекте
Как мне получить программный путь к файлу файла в моем проекте?
string fileContent = File.ReadAllText(LocalConstants.EMAIL_PATH);
EMAIL_PATH Я добавил в свой проект текстовый файл. Эта строка кода генерирует исключение, потому что по какой-либо причине она ищет папку system32. Мне нужно установить его в каталог проектов.
Ответы
Ответ 1
Вы можете использовать Path.Combine
и AppDomain.CurrentDomain.BaseDirectory
:
string fileName = "SampleFile.txt";
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, LocalConstants.EMAIL_PATH, fileName);
Возвращает в тестовом проекте в режиме отладки этот путь (когда LocalConstants.EMAIL_PATH="Emails"
):
C:\****\****\Documents\Visual Studio 2010\Projects\WindowsApplication1\WindowsFormsApplication1\bin\Debug\Emails\SampleFile.txt
Ответ 2
Вы можете использовать Environment.CurrentDirectory
Смотрите: http://msdn.microsoft.com/en-us/library/system.environment.currentdirectory.aspx
Для дальнейшего чтения.
edit *
string temp = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
Будет делать то же самое и, возможно, немного безопаснее.
Ответ 3
Это сработало для меня System.AppDomain.CurrentDomain.BaseDirectory.ToString()