ASP .NET + Docker в Linux выдает исключение system.io.filenotfoundException: не удалось найти файлC#

Место общения программистов C#
Anonymous
ASP .NET + Docker в Linux выдает исключение system.io.filenotfoundException: не удалось найти файл

Сообщение Anonymous »

У меня возникла ошибка в проекте .NET Web Api, когда я запускаю его с помощью Docker в Linux. Это всего лишь очень маленькая служба электронной почты, которую я хочу разместить. Файл, который выдает ошибку, представляет собой файл шаблона электронной почты в формате HTML, поэтому это файл .html.
Мой сервис работает в режиме отладки в Windwos, а также в докере, работающем в Windows, однако, когда я запустите его на моем веб-сервере и попытайтесь отправить электронное письмо, которое он выдаст

system.io.filenotfoundException: не удалось найти файл
< /blockquote>
относительный путь должен быть в докере:
/app/Templates/email-template.html
Я уже искал решение в Интернете, но не нашел его для себя.
Что я пробовал до сих пор:
a)
Изменение пути в Файл EmailService.cs

Код: Выделить всё

//1st try
Directory.GetCurrentDirectory() + "/Templates/email-template.html"

//2nd try
@"Templates/email-template.html"

//3rd try
@"templates/email-template.html"

//4th try
@"email-template.html"
Из файла докера я попытался скопировать файлы в файл рабочего каталога, потому что прочитал, что, возможно, они не были скопированы во время сборки докера
Я пробовал копировать файлы Docker

Код: Выделить всё

#1
COPY MailService.WebApi/Templates/email-template.html /app/templates/
#2
COPY MailService.WebApi/Templates/email-template.html .
#3
COPY ["MailService.WebApi/Templates/email-template.html", "MailService.WebApi/"]
Я действительно не понимаю, почему он не работает в Linux, поскольку он прекрасно работает в Windows (как в режиме отладки, так и в докере).

Подробнее здесь: https://stackoverflow.com/questions/652 ... ld-not-fin

Вернуться в «C#»