将asp.net核心应用程序部署到azure后出错

时间:2016-11-19 19:21:03

标签: asp.net azure asp.net-core

首次将我的asp.net核心应用程序部署到azure并运行后,我收到以下错误:

  

错误。处理您的请求时发生错误。发展   模式交换到开发环境将显示更详细   有关发生的错误的信息。

     

不应在部署中启用开发环境   应用程序,因为它可能导致敏感信息   向最终用户显示例外情况。对于本地调试,   可以通过设置启用开发环境   ASPNETCORE_ENVIRONMENT环境变量到开发,和   重新启动应用程序。

请注意,我在visual studio中发布时尝试了调试和发布模式,并确保我选择了默认迁移并且还具有连接字符串。 如果可能,您能告诉我如何启用如图所示的开发模式或进一步解释错误吗? 谢谢

编辑:根据我收到的建议,我在云资源管理器日志中找到了以下内容:

  

Msvsmon无法启动名为' 127.0.0.1:50867'的服务器。该   发生以下错误:远程调试器的实例是   已在此计算机上运行,​​或已绑定另一个进程   到指定的TCP / IP端口。

3 个答案:

答案 0 :(得分:11)

非常清楚 - 仍然是ASP.NET Core 2.0中出现的东西 - 正如@Techy所说 - 在Azure中。转到Azure,单击您的Web应用程序 - > "应用程序设置" - >转到“应用程序设置”部分并添加“ASPNETCORE_ENVIRONMENT”和“开发”

Azure Portal

答案 1 :(得分:4)

感谢您的评论。 通过在azure portal中的应用程序设置中添加以下键,我能够找到错误详细信息: ASPNETCORE_ENVIRONMENT 有价值的: 发展

我创建了一个关于错误本身的新问题: InvalidOperationException: Could not find 'UserSecretsIdAttribute' on assembly

谢谢

答案 2 :(得分:0)

这是在生产模式下使用的一种安全措施,因此任何用户都不会从我们的应用程序中获取敏感的异常信息。

您可以将ASPNETCORE_ENVIRONMENT从“生产”更改为“开发”。

另一个选择是更改Startup.cs中Configure()方法的代码。正是这种方法进行了验证:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Error");
    }

    ...
}

不建议这样做,但是您可以消除这种情况:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseDeveloperExceptionPage();
    ...
}