首页 文章

ASP.NET 到 IIS 的核心部署错误:不应在已部署的应用程序中启用开发环境

提问于
浏览
25

我按照本文将我的 ASP.NET MVC Core 1.0 应用程序部署到使用 IIS 10 的 Windows 10 上的本地 IIS。应用程序已成功部署并打开主页。我正在使用个人用户帐户身份验证。在主页上,当我输入 login/password 并单击“登录”按钮时,出现以下错误。我正在使用最新版本的 ASP.NET Core 和 VS2015。我使用 VS2015 发布向导来发布应用程序。一切都在同一台机器上完成:

处理您的请求时发生错误。

发展模式

交换到Development环境将显示有关发生的错误的更详细信息。
不应在已部署的应用程序中启用开发环境,因为它可能导致向最终用户显示异常的敏感信息。对于本地调试,可以通过将ASPNETCORE_ENVIRONMENT环境变量设置为Development并重新启动应用程序来启用开发环境。

4 回答

  • 19

    首先,检查ASPNETCORE_ENVIRONMENT变量的值。您必须将此环境变量设置为“生产”(或除开发之外的其他环境)

    否则,您可以像这样更新web.config-

    <configuration>
      <!--
        Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
      -->
      <system.webServer>
        <handlers>
          <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
        </handlers>
        <aspNetCore processPath=".\Application.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false">
          <environmentVariables>
            <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
          </environmentVariables>
        </aspNetCore>
      </system.webServer>
    </configuration>
    

    有关更多详细信息,请参阅此岗位

  • 9

    我想在开发环境中运行它,所以我在 web.config 文件中添加了以下内容,它对我有用:

    <environmentVariables>
         <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
    </environmentVariables>
    

    在此输入图像描述

  • 1

    首先,在您发布引发 run-time 错误的网站时会发生此错误。因此,请在出现此错误的页面中再次检查您的代码。然后,将ASPNETCORE_ENVIRONMENT变量的值设置为Production(而不是Development),还应检查布局页面并将<environment"development">更改为<environment"Production">。最后,发布您的网站。这是在 VS2017 中测试

  • 1

    对于每个人来说可能并非如此,但是我试图将“发布”配置部署到环境变量为“uat”的服务器上。我设置了一个用于部署的 uat 配置,导航到我的站点 URL 时不再显示该消息。简而言之,只需确保您的预期构建配置与目标服务器匹配,正如其他人在上面提到的那样!

相关问题