# --- Стадия сборки --- FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /source # Копируем .sln и .csproj файл (он теперь в корне) COPY *.sln . COPY *.csproj . # Если будут другие проекты, их .csproj тоже копируем из корня # Восстанавливаем NuGet пакеты для .csproj файла RUN dotnet restore "./DailyDigestWorker.csproj" # Используем имя файла проекта # Копируем весь остальной исходный код из корня COPY . . # Публикуем приложение # WORKDIR уже /source, где лежит .csproj RUN dotnet publish "./DailyDigestWorker.csproj" -c Release -o /app/publish --no-restore # --- Финальная стадия --- FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final WORKDIR /app COPY --from=build /app/publish . ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false ENTRYPOINT ["dotnet", "DailyDigestWorker.dll"]