Относительные пути в Winforms

Вам нужно использовать in_time_zone (т.е. Time.now.in_time_zone), чтобы получить что-то отличное от UTC.

9
задан 19 June 2009 в 19:21
поделиться

2 ответа

Я рекомендую не использовать в первую очередь относительные пути.

Используйте Path.Combine , чтобы включить относительные пути в абсолютные пути. Например, вы можете использовать это, чтобы получить полный путь к вашему запускаемому EXE:

string exeFile = (new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath;

После этого вы можете получить его каталог:

string exeDir = Path.GetDirectoryName(exeFile);

и превратить свой относительный путь в абсолютный путь:

20
ответ дан 4 December 2019 в 09:14
поделиться

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

string fullPath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), subPath);

или если вас беспокоит, что рабочий каталог может быть неправильным, вы можете сделать это:

string fullPath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), subPath);
3
ответ дан 4 December 2019 в 09:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: