Подтвердить что ты не робот

Как получить текущий путь к каталогу С#?

У меня есть файл курсора в проекте. Я дал абсолютный путь в коде i.e

F:/r.cur  

проблема в том, что это жестко закодированный путь. И я хочу относительный путь, чтобы, если я перемещаю свое решение в другую систему, код не должен влиять.

предложите, как установить относительный путь

//current code i am using 
 p.Cursor = new Cursor("F:/r.cur");
4b9b3361

Ответ 1

Вы можете использовать статический класс Directory, однако текущий каталог отличается от исходного каталога, который является тем, из которого был запущен процесс.

System.IO.Directory.GetCurrentDirectory();

Таким образом, вы можете использовать следующее, чтобы получить путь к каталогу исполняемого приложения:

System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath);

Ответ 2

использовать Application.StartupPath возвращает путь к исполняемому файлу, который запустил приложение.

        string pathCur = Path.Combine(Application.StartupPath, @"..\..\r.cur");
        Cursor = new Cursor(pathCur);

Ответ 3

Вы также можете перейти на System.IO.Directory.GetCurrentDirectory();
но он также показывает папку bin и debug, если вы не хотите эту папку, чтобы вы могли использовать этот код:

string page = "E:\abccom\Cat\Mouse.aspx"

string name = Path.GetFileName(page );
string nameKey = Path.GetFileNameWithoutExtension(page );
string directory = Path.GetDirectoryName(page );

Console.WriteLine("{0}, {1}, {2}, {3}",
page, name, nameKey, directory);

Вывод: Аренда на отпуск GetFileName:                                           Mouse.aspx
GetFileNameWithoutExtension:         Мышь
GetDirectoryName:                             E:\abccom\Cat

Счастливое кодирование:)

Ответ 4

Вы можете получить текущий рабочий каталог, используя System.IO.Directory.GetCurrentDirectory(). он вернет ваш текущий исполняемый путь.

Спасибо

Ответ 5

Application.StartupPath должен предоставить вам путь приложения, из которого выполняется ваше приложение. Я бы создал структуру каталога в папке приложения. Например, если "C:\Program Files\MyApp" - это папка моего приложения, я бы создал папку под ним cursors (C:\Program Files\MyApp\Cursors) и поместил все курсоры в эту папку.