Я работаю с .Net Core 2.1 Web Api.
Я использую 4 проекта для этого решения.Я пытаюсь загрузить HTML-шаблон, локально работает нормально, но как только я нажимаю на него на сервере Linux, файл не может быть загружен из-за этой ошибки:
HTML-шаблон не загружается: Не удалосьнайти часть пути '/Helpers/Email/Templates/template.html'
Структура решения следующая (включая папки и html-файл):
- Core
- Helpers
- Email
EMailHelper.cs
- Templates
template.html
- Infrastructure
- WebApi (this is the main project, with appsettings.json, ...)
Что ж, когда я пытаюсь загрузить «template.html» из «EmailHelper.cs», локально работает нормально как для Windows, так и для Mac, но когда я загружаю его в среду публикации (Azure - Linux), он всегда выдаетпредыдущее исключение.
В файле "template.html" есть "копия в тот же каталог" и задано как "содержимое" в качестве действия сборки.
Попытка также загрузить файл с такими URL-адресами:
const string htmlTemplate = "../Helpers/Email/Templates/template.html";
и
string emailTemplateUserRegistration = string.Format("..{0}Helpers{0}Email{0}Templates{0}{template.html}", Path.DirectorySeparatorChar);
но загрузить его невозможно.
Знаете ли вы, в чем причина этого?как я могу это исправить?
Заранее спасибо.
Редактировать:
Странно, если я загружаю этот URL не могу загрузить файл из проекта:
/ home / project / backend / Helpers / Email / Templates / template.html
, но с помощью vi откройте файл:
vi /home / project / backend / помощники / электронная почта / шаблоны / template.html
Способ загрузки файла следующий:
var builder = new StringBuilder();
using (var reader = File.OpenText(htmlTemplate))
{
builder.Append(reader.ReadToEnd());
}