Я столкнулся с поведением, которое я не понимаю, когда дело доходит до ASP. NET Core.
При работе с консольными приложениями для чтения файла конфигурации я копирую его в Вывести каталог следующим образом:
<ItemGroup>
<Content Include="mysettings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
В противном случае я получу FileNotFoundException
, если я использую только имя файла вместо полного пути. Таким образом, я могу импортировать файлы (например, другие настройки jsons) из других проектов, и это прекрасно работает.
Пока все хорошо.
Однако в ASP. NET Core (I работайте над проектом Blazor Web Assembly с ASP. NET базовым интерфейсом ядра, чтобы быть более точным c), когда я запускаю проект сервера, настройки не считываются из выходного каталога, а из проекта. Из-за этого я получаю сообщение об ошибке при попытке прочитать файл настроек из другого проекта в решении, поскольку приложение ищет его в папке проекта, а не в папке вывода.
Я не являюсь конечно, если это уместно, но Directory.GetCurrentDirectory()
показывает /BlazorApp/Server
, а я бы предпочел /BlazorApp/Server/bin/Debug/netcoreapp3.1
.
Это ожидаемое поведение в ASP. NET Core? Если так, как я могу работать с файлами из других проектов? Я хотел бы избежать обновления настроек в нескольких местах вручную.
Заранее спасибо