Почему теги среды не работают в .NET Core 3? - PullRequest
1 голос
/ 03 ноября 2019

Я хочу использовать тег среды в моем представлении (последнее обновление .NET Core 3 и VS 2019).

Просто создайте простой проект и добавьте код, показанный ниже в моем представлении (в разделе заголовка),но когда я запускаю его, он загружает оба CSS-файла, почему? Я имею в виду, что на моей машине есть переменная среды продукта, и из-за этого код должен просто загрузить второй .min.css файл, а не оба.

Я протестировал свою машинную среду, когда я запускаю .exe-файл по пути моего проекта \bin\Debug\netcoreapp3.0 и показывает «Среда размещения: Производство», что тогда не так?

<environment include="Development">
    <link rel="stylesheet" href="~/css/StyleSheet1.css" />
</environment>

<environment exclude="Development">
    <link rel="stylesheet" href="~/css/StyleSheet1.min.css" asp-append-version="true" />
</environment>

В Chrome инспектор:

enter image description here

Он не должен загружать как обработанные CSS, так и необработанные CSS-файлы одновременно, я не прав?

После дневного поиска я обнаружил, что это простая работа, и ей просто нужно добавить некоторые теги среды наНа мой взгляд, это работает хорошо, но зачем загружать оба файла, это странно.

Обновление 1:

У меня есть две переменные среды "Разработка" в моем коде, но моя настоящаяИмя переменной среды - «Production», это означает, что файл CSS в первом разделе больше не должен загружаться, но это так.

С другой стороны, когда вы удаляете второй раздел моих кодов, я имею в виду следующее:

  <environment exclude="Development">
       <link rel="stylesheet" href="~/css/StyleSheet1.min.css" 
       asp-append-version="true" />
   </environment>

Это мюst ничего не загружает, потому что в моем коде имя среды «Development», а реальное имя среды «Production», и в первом разделе моего кода говорится, если имя переменной среды «Development», загрузите этот CSS, иначе этого не делать.

Ответы [ 2 ]

0 голосов
/ 03 ноября 2019

После долгих поисков я обнаружил, что должен добавить файл "_ViewImports.cshtml" на мой взгляд и добавить к нему следующие коды:

@using WebApplicationTest
@using WebApplicationTest.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

Я не знаю, зачем мне это делать для обработкиэтот случай, но основная команда .net справится с лучшими способами, На мой взгляд, это может привести новичка в замешательство.

0 голосов
/ 03 ноября 2019

Вы должны попробовать names="Development" вместо include="Development"

<environment names="Development">
    <link rel="stylesheet" href="~/css/StyleSheet1.css" />
</environment>

<environment exclude="Staging,Production">
    <link rel="stylesheet" href="~/css/StyleSheet1.min.css" asp-append-version="true" />
</environment>
...