IIS и ASPNETCORE_ENVIRONMENT опубликовали приложение, не использующее значение в web.config? - PullRequest
0 голосов
/ 23 апреля 2019

Я устанавливаю это значение во время публикации через настройки в файле csproj.Полученный файл web.config имеет это

<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\something-something.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
        <environmentVariables>
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="QA" />
        </environmentVariables>
      </aspNetCore>
    </system.webServer>
  </location>
</configuration>

Тем не менее, когда я запускаю приложение на целевом сервере, я получаю ошибку об этой переменной среды.Как переменная по-прежнему может быть установлена ​​в «Разработка»?

<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
It can result in displaying sensitive information from exceptions to end users.
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong>

Переменная среды Разработка и перезапуск приложения.

[обновление]Что также странно, так это то, что не все области приложения видят эту ошибку.У меня есть 4 среды - Local, Test, QA и ProdTest - мой сервер "dev", и при публикации я не получаю сообщение об ошибке, связанной с этой переменной среды.

[ update ]После того, как я выдернул немного волос, я заметил, что также получаю ошибку http 500, однако она теряется в шуме.Похоже, есть проблема с данными, которая привела к исключению в моем коде, но уведомление о переменной среды было немного вводящим в заблуждение.

...