Ошибка при попытке прочитать файл по относительному пути в .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 при производстве. Или вы можете использовать абсолютный путь.

Другие вопросы по тегам