2016-10-25 20 views
3

これまでのASP .NETコアアプリケーションは非常に単純です。app.UseDeveloperExceptionPage()がUbuntuのASP .NETコアで動作していないようです

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
    { 
     loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
     loggerFactory.AddDebug(); 

     app.UseDeveloperExceptionPage(); 
     app.UseMvc(); 

    } 

を次のように私はときに私がprotableアプリとして、Windows上でそれを展開してきたと私は(途中で素晴らしいページ)開発者向けページでエラーを表示することができるよ開発者の例外ページをオンにしました特定のWeb API要求が失敗し、例外が発生します。

私はUnbuntuに自己完結型のアプリケーションとして公開していますが、開発者のエラーページが表示されることはありません(ただし、正常に動作するようですが、開発者をテストするためにエラーが発生しましたページ自体)。

答えて

2

開発者例外ページは、環境が開発環境の場合に使用します。

は、Ubuntuのにアプリを公開する行為は、生産に環境を設定しているhttps://www.exceptionnotfound.net/working-with-environments-and-launch-settings-in-asp-net-core/

を参照してください。

+0

私は環境変数をプロダクションに設定しているということは間違いありません。しかし、多くの例のように環境変数をチェックしているわけではありません。私はUseDeveloperExceptionPageに関係なくそれを要求しています。この点を証明するために、Ubuntuデプロイメントで開発環境に環境をどのように設定できるか考えてください。そのようにしてもまだ動作しない場合は、環境変数が問題ではないことがわかります。 – Mark

+0

公開設定では、設定がリリースではなくデバッグであることを確認します。 Ubuntuの公開ファイルにappsettings.Development.jsonファイルが含まれているはずです –

1

デフォルトでは、macOSとLinuxではASP.NET Coreのホスティング環境はProductionです。あなたは

> dotnet run --environment=Development

のMacOSを使用してアプリケーションを起動し、コマンドラインからのホスティング環境を設定することができますUbuntuでは

:あなたはVisual Studioのコードを使用している場合

$ ASPNETCORE_ENVIRONMENT=Development dotnet run

、中launch.json各設定には次の設定があります:

"env": { "ASPNETCORE_ENVIRONMENT": "Development" }

+0

非常に便利です。ありがとうございました! – abhi

関連する問題