Как опубликовать папку в службе приложений Azure? - PullRequest
0 голосов
/ 08 января 2019

У меня есть проект .Net Core. Как часть моего класса Context класса у меня есть некоторые начальные данные для вставки в базу данных. Эти начальные данные десериализуются из файла seed.json в корневом каталоге и содержат пути к изображениям в нем. Эти изображения находятся в папке в проекте. Перед вставкой данных я получаю эти изображения, загружаю их в облачное хранилище Azure и изменяю пути, на которые они указывают. Это прекрасно работает на местном уровне.

Итак, теперь я публикую свое приложение в службе приложений Azure, и появляется исключение FileNotFound. Больше не могу найти изображения в проекте. Глядя на файловую систему на инструментальной панели Kudu Azure, я не вижу папки своего проекта, а вместо этого кучу файлов .dll и .pdb. Я могу только предположить, что Azure, возможно, связывает папки в .dll?

Я все еще могу получить доступ к wwwroot / images просто отлично, но предпочел бы не делать этого ради безопасности.

Что я могу сделать, чтобы опубликовать мою папку в их файловой системе или получить доступ к моим файлам в их файловой системе?

1 Ответ

0 голосов
/ 08 января 2019

Возможно, вам потребуется установить рабочий каталог вашего проекта в 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>

`

Надеюсь, это поможет Dave

...