IIS和ASPNETCORE_ENVIRONMENT发布的应用未使用web.config中的值吗?

时间:2019-04-23 16:05:26

标签: iis asp.net-core-2.0

我在发布时通过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种环境-本地,测试,质量检查和产品
测试是我的“开发”服务器,在该服务器上发布我没有得到与此环境变量相关的错误。

[更新]
拉出一些头发后,我注意到我也遇到了一个HTTP 500错误,但是它却被噪音淹没了。看起来有一个数据问题导致我的代码中出现异常,但是有关环境变量的通知有点误导。

0 个答案:

没有答案