【问题标题】:Why EF Core App runs on Visual Studio but fails on Azure为什么 EF Core 应用程序在 Visual Studio 上运行但在 Azure 上失败
【发布时间】:2020-09-02 01:38:04
【问题描述】:

将工作的 EF Core 应用程序 (NetCore 3.1) 发布到 Azure 后,我收到此消息,“处理您的请求时发生错误”它接着说将 ASPNETCORE_ENVIRONMENT 交换到 Development 将显示有关错误的信息。但是,它在 Visual Studio Debug 和 Run without Debug 上运行时没有错误。发布之前,我在appsettings.json和startup.cs中把连接字符串改成了“DefaultConnection”

【问题讨论】:

    标签: azure asp.net-core


    【解决方案1】:

    “错误消息”不是实际的错误消息,它只是通知您有错误。由于发布时环境设置为生产环境,因此不会显示实际错误,因为它可能很敏感并显示您的部分代码,您需要切换到开发模式才能看到它。

    如果您可以编辑您的 web.config 文件,它通常是您发布文件夹中的最后一个文件; 替换这一行

      <aspNetCore processPath="dotnet" arguments=".\yourapplicationname.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess"\>
    

    与;

    <aspNetCore processPath="dotnet" arguments=".\yourapplicationname.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" >
      <environmentVariables>
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
        </environmentVariables>
      </aspNetCore>
    

    这会将环境切换到开发模式,因此当您再次运行您的应用程序时,它会给您错误本身,您可以解决它们。

    如果您使用的是 windows,我建议在本地发布到文件夹并在 IIS 上设置应用程序以在本地测试,然后再发布到天蓝色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多