У меня есть проект .Net Core. Как часть моего класса Context базы данных у меня есть некоторые исходные данные для вставки в базу данных. Эти исходные данные десериализуются из файла seed.json в корневом каталоге и содержат пути к изображениям в нем. Эти изображения находятся в папке проекта. Перед вставкой данных я получаю эти изображения, загружаю их в облачное хранилище Azure и меняю пути, указывающие на них. Это отлично работает на местном уровне.
Итак, теперь я публикую свое приложение в Службе приложений Azure, и появляется исключение FileNotFound. Он больше не может находить изображения в проекте. Глядя на файловую систему на панели управления Kudu в Azure, я вижу не папки своего проекта, а набор файлов .dll и .pdb. Я могу только предположить, что Azure может объединять папки в .dll?
Я все еще могу получить доступ к wwwroot / images, но предпочел бы этого не делать из соображений безопасности.
Что я могу сделать, чтобы опубликовать свою папку в их файловой системе или получить доступ к моим файлам в их файловой системе?





Возможно, вам потребуется установить рабочий каталог вашего проекта в Program.cs. Затем вы можете получить доступ к ваши файлы относительно каталога .dll.
var currentDir = Directory.GetCurrentDirectory();
config.SetBasePath(currentDir)
И, возможно, потребуется скопировать папку seed.json и images в выходной файл проекта:
`<Content Include = "seed.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include = "images/**/*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
`
Надеюсь, поможет Дэйв
Привет, Дэйв, спасибо за это. Это была копия для настройки каталога вывода, которую мне не хватало.