Стили site.css не применяются к образу Docker в сборке Visual Studio 2017 Docker - PullRequest
0 голосов
/ 14 ноября 2018
  • Я использую Windows для создания контейнера Linux с помощью Visual Studio 2017
  • Я внес изменение в site.css в моем веб-приложении ASP.Net Core и небольшое текстовое изменение в домашней версиистраница для отображения текущей версии приложения.
  • Локально создаю и отлаживаю свой образ докера: УСПЕХ (я вижу изменения)
  • Я помещаю свое изображение в концентратор докеров: УСПЕХ!
  • Я обновляю свое развертывание в kubernetes, чтобы получить новый образ из док-концентратора: УСПЕХ (я вижу, что новый образ вытащен, и я вижу изменение версии на домашней странице)
  • FAIL: я не вижуcss меняется!

Если я открою панель инструментов Chrome dev, похоже, что она не получает правильный site.css - я могу сказать это, проверив элементы - они применяют какой-то другой css, а не мой!Если я просматриваю исходный код, он ссылается на минимизированную версию файла css:

<link rel="stylesheet" href="/css/site.min.css?v=kHvJwvVAK1eJLN4w8xygUR3nbvlLmRwi5yr-OuAO90E" />

Вот Docker-файл OOB из Visual Studio:

FROM microsoft/aspnetcore:2.0 AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/aspnetcore-build:2.0 AS build
WORKDIR /src
COPY SupportTicket.sln ./
COPY ST.Web/ST.Web.csproj ST.Web/
COPY ST.AppServicesLib/ST.AppServicesLib.csproj ST.AppServicesLib/
COPY ST.SharedInterfacesLib/ST.SharedInterfacesLib.csproj ST.SharedInterfacesLib/
COPY ST.SharedEntitiesLib/ST.SharedEntitiesLib.csproj ST.SharedEntitiesLib/
COPY ST.SQlServerRepoLib/ST.SQLServerRepoLib.csproj ST.SQlServerRepoLib/
RUN dotnet restore -nowarn:msb3202,nu1503
COPY . .
WORKDIR /src/ST.Web
RUN dotnet build -c Release -o /app

FROM build AS publish
RUN dotnet publish -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "ST.Web.dll"]

Вопрос

Если я могу правильно просматривать веб-сайт с помощью отладочной сборки, почему он не отображается правильно в отправленном изображении?(Я ожидаю, что изображения будут идентичны) Как мне это исправить?

Большое спасибо!

1 Ответ

0 голосов
/ 14 ноября 2018

Предварительный ответ (это обходной путь, и я все же хотел бы получить ответ на центральный вопрос о том, почему контейнер отладочного веб-сайта! = Развернутый контейнер):

Закомментируйте конфигурацию минификатора в bundleconfig.json . Это помогло мне. (Но теперь у меня нет минификации!):

// Configure bundling and minification for the project.
// More info at https://go.microsoft.com/fwlink/?LinkId=808241
[
  //{
  //  "outputFileName": "wwwroot/css/site.min.css",
  //  // An array of relative input file paths. Globbing patterns supported
  //  "inputFiles": [
  //    "wwwroot/css/site.css"
  //  ]
  //},
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    // Optionally specify minification options
    "minify": {
      "enabled": true,
      "renameLocals": true
    },
    // Optionally generate .map file
    "sourceMap": false
  }
]

Кроме того, я закомментировал и обновил ссылку на таблицу стилей в _layout.cshtml :

<environment exclude="Development">
       <!-- etc -->
        @*<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />*@
        <link rel="stylesheet" href="~/css/site.css" />
    </environment>

Любые лучшие ответы, с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...