首次将我的asp.net核心应用程序部署到azure并运行后,我收到以下错误:
错误。处理您的请求时发生错误。发展 模式交换到开发环境将显示更详细 有关发生的错误的信息。
不应在部署中启用开发环境 应用程序,因为它可能导致敏感信息 向最终用户显示例外情况。对于本地调试, 可以通过设置启用开发环境 ASPNETCORE_ENVIRONMENT环境变量到开发,和 重新启动应用程序。
请注意,我在visual studio中发布时尝试了调试和发布模式,并确保我选择了默认迁移并且还具有连接字符串。 如果可能,您能告诉我如何启用如图所示的开发模式或进一步解释错误吗? 谢谢
编辑:根据我收到的建议,我在云资源管理器日志中找到了以下内容:
Msvsmon无法启动名为' 127.0.0.1:50867'的服务器。该 发生以下错误:远程调试器的实例是 已在此计算机上运行,或已绑定另一个进程 到指定的TCP / IP端口。
答案 0 :(得分:11)
非常清楚 - 仍然是ASP.NET Core 2.0中出现的东西 - 正如@Techy所说 - 在Azure中。转到Azure,单击您的Web应用程序 - > "应用程序设置" - >转到“应用程序设置”部分并添加“ASPNETCORE_ENVIRONMENT”和“开发”
答案 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();
...
}