Среда хостинга .Net Core 3.1 в _Layout.cshtml Ошибка: CS0841: Не удается использовать локальную переменную ‘hostingEnv’ до ее объявления

#.net #asp.net-core #asp.net-core-mvc #asp.net-core-3.1

Вопрос:

Я получаю ошибку: CS0841 Не может использовать локальную переменную ‘hostingEnv’ до ее объявления.

В верхней части моего _Layout.cshtml:

 @inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment hostingEnv
 

Затем я получаю ошибку с этим:

         @if (hostingEnv.EnvironmentName == "Development")
        {
            @:<span>In Development</span>
        }
 

Спасибо!

Комментарии:

1. Привет @Мэтью Кокс, где ты использовал предложение «если»? Это хорошо работает в моем проекте, просто используя ваш код.

Ответ №1:

Давайте попробуем другой способ доступа к среде:

 <environment include="Development">
  <div>The effective tag is: amp;<environment include="Development"amp;></div>
</environment>
<environment exclude="Development">
  <div>The effective tag is: amp;<environment exclude="Development"amp;></div>
</environment>
<environment include="Staging,Development,Staging_2">
  <div>
    The effective tag is:
    amp;<environment include="Staging,Development,Staging_2"amp;>
  </div>
</environment>
 

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-5.0

Комментарии:

1. Как бы я использовал это в среде под названием «Тест». (Я не вижу функции IsTest, но я вижу IsDevelopment, IsStaging и isProduction). Спасибо!