Ошибка при попытке прочитать файл по относительному пути в .net core 3.X в производстве
Когда я запускаю свой проект на локальном хосте, я могу найти файл и обработать его дальше. Это достигается с помощью этой строки кода.
path = Path.Combine(Directory.GetCurrentDirectory(), "EmailTemplates\\SuccessOrderWindows10.html");
Я могу получить полный относительный путь C:\etc\etc\etc.. Но когда я отправляю этот код в производство, когда он достигает этого этапа, он выдает ошибку
Error One or more occurred. (Could not find a part of the path 'h:\root\home\username\www\sitename\EmailTemplates\SuccessOrderWindows10.html'.)
Что я делаю не так? Нужно ли мне выбирать файлы и устанавливать для них содержимое, чтобы оно было включено в сборку?
1 ответ
Directory.GetCurrentDirectory получит текущий рабочий каталог приложения. Когда вы отправляете код в производство, вы меняете текущий рабочий каталог, поэтому относительный путь к вашему файлу изменится, поэтому вам нужно поместить файл по новому пути h:\root\home\username\www\sitename\EmailTemplates\SuccessOrderWindows10.html
при производстве. Или вы можете использовать абсолютный путь.