# Баг 4. UseFileServer без каталога wwwroot ## Симптом При локальном старте сервера (Aspire, без publish): ``` warn: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[16] The WebRootPath was not found: …\src\HSchool.Server\wwwroot. Static files may be unavailable. ``` Клиент в деве идёт с Vite на 5173, не с сервера. Ожидали отсутствие этого предупреждения. ## Причина `Program` всегда зовёт `UseFileServer()`. ASP.NET подставляет `ContentRoot/wwwroot` даже если папки нет и пишет warning 16. Каталог появляется только в опубликованном контейнере (`PublishWithContainerFiles(client, "wwwroot")`). ## Путь `UseFileServer` только если `wwwroot` есть на диске. Отвергнуто: пустой каталог с `.gitkeep`; флаг `IsDevelopment` (publish с Development тогда не раздаст клиент). ## Задачи - [x] Не вызывать `UseFileServer`, пока `WebRootPath` не существует - [x] Тест предиката на существующий и отсутствующий каталог ## Тест, без которого не закрыт `HSchool.Server.Tests`: `ClientStaticFiles.CanServe` ложь на несуществующем пути, истина на живом каталоге. ```bash dotnet test tests/HSchool.Server.Tests --filter FullyQualifiedName~ClientStaticFiles ``` ## Стоп Протокол, сейв, Vite, `PublishWithContainerFiles` не трогать.