系统之家提供 Windows 系统、Ghost 系统、驱动与常用软件的安全下载及安装教程。纯净系统 原版ISO 微软官方镜像 MSDN我告诉你 系统之家 装机吧 小白一键重装 驱动总裁 万能驱动 启动盘制作 Rufus Ventoy UltraISO PE系统 微PE 进BIOS 设置U盘启动 分区工具 DiskGenius 格式化C盘 激活工具 KMS 正版授权 系统补丁 运行库 DirectX VC++ .NET Framework 安全设置 系统优化 备份还原 后台管理
📢 欢迎访问系统之家!所有资源均经过安全检测。

.NET 8 Azureへのコンテナデプロイ時にProduction設定が反映されない

发布时间:2026-09-04 | 浏览:1
📥 下载地址(文章开头)
Azure AppService上での話になります。 Linuxコンテナでデプロイ後、.NET 8のMVCアプリが公開された状態なのですが、 試用アカウントでリソースの作成を試みたところ Error. An error occurred while processing your request. Request ID: 00-902e6d5e1d6d8fa43dde21008bf32fe1-da18965a71811e73-00 Development Mode Swapping to Development environment will display more detailed information about the error that occurred. The Development environment shouldn't be enabled for deployed applications. It can result in displaying sensitive information from exceptions to end users. For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development and restarting the app. と出ます。ローカルでのコンテナビルド時Dockerfile、docker-compose.ymlにDevelopmentの設定記載はしていないつもりなのですが、コンテナへの環境設定が何を見るのかわかっていません。 launchsettings.jsonには { "commandName": "Project", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" "dotnetRunMessages": true, "applicationUrl": "http://localhost:5044" "commandName": "Project", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" "dotnetRunMessages": true, "applicationUrl": "https://localhost:7065;http://localhost:5044" "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" "Container (Dockerfile)": { "commandName": "Docker",
📥 下载地址(文章中间)
"launchBrowser": true, "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", "environmentVariables": { "ASPNETCORE_HTTPS_PORTS": "8081", "ASPNETCORE_HTTP_PORTS": "8080" "publishAllPorts": true, "$schema": "http://json.schemastore.org/launchsettings.json", "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:8238", "sslPort": 44319 と、Developmentが入っていますが、Copilotに聞くとContainer設定には書いてないので関係ないとの事。 AppServiceの[設定 > 環境変数 > アプリケーション設定]で、 名前: ASPNETCORE_ENVIRONMENT 値: Production になるよう設定したのですがこれも反映されなかったようです。 このような場合どうすればいいでしょうか?ご教示下さい。 C 言語ファミリをルーツとし、コンポーネント指向プログラミングのサポートを含む、オブジェクト指向およびタイプセーフのプログラミング言語。 gekka • 14,226 評価のポイント • MVP • ボランティア モデレーター 2025-10-28T09:01:35.56+00:00 そのエラーメッセージはプロジェクトのPages/Error.cshtmlに書かれている文言です。 Prorgram.csのMainに以下のようなコードがあるはずです。 if (!app.Environment.IsDevelopment()) // ASPNET_ENVIRONMENTがDevelopmentに *** なっていない場合 *** に以下のコードが実行 { app.UseExceptionHandler("/Error"); //プログラムで何らかのエラーが発生したら/Errorを表示させるように設定 app.UseHsts(); } これは、ASPNET_ENVIRONMENTが Developmentではない場合 に、プログラムでエラーが発生すると、そのエラーメッセージのあるページが表示されるということです。 デバッグ中のエラーでこのエラーページが表示されてもデバッグがしづらいので、デバッグ時にはUseExceptionHandlerを設定せずにデバッグさせています。 ローカルでデバッグしている時はlaunchsettings.jsonにある環境設定が適用されてるので、ASPNET_ENVIRONMENTはDevelopmentになります。 逆に言えば、Azureに発行されて実行されている環境ではASPNET_ENVIRONMENTはDevelopmentになっていないからそのエラーページが表示されます。 よって、そのエラーページが表示されるということは、内部で何かエラーが発生しているということです。(直接Errorを表示させていない限り) 実際にASPNET_ENVIRONMENTが設定されているのか確認したければ適当なページに以下のようなコードを埋め込んでみたらどうでしょう @foreach(var e in System.Environment.GetEnvironmentVariables()) { <div>@e</div> } 0 件のコメント コメントはありません サインインしてコメントする コメントの追加 そのエラーメッセージはプロジェクトのPages/Error.cshtmlに書かれている文言です。 Prorgram.csのMainに以下のようなコードがあるはずです。 これは、ASPNET_ENVIRONMENTが Developmentではない場合 に、プログラムでエラーが発生すると、そのエラーメッセージのあるページが表示されるということです。 デバッグ中のエラーでこのエラーページが表示されてもデバッグがしづらいので、デバッグ時にはUseExceptionHandlerを設定せずにデバッグさせています。 ローカルでデバッグしている時はlaunchsettings.jsonにある環境設定が適用されてるので、ASPNET_ENVIRONMENTはDevelopmentになります。 逆に言えば、Azureに発行されて実行されている環境ではASPNET_ENVIRONMENTはDevelopmentになっていないからそのエラーページが表示されます。 よって、そのエラーページが表示されるということは、内部で何かエラーが発生しているということです。(直接Errorを表示させていない限り) 実際にASPNET_ENVIRONMENTが設定されているのか確認したければ適当なページに以下のようなコードを埋め込んでみたらどうでしょう
📥 下载地址(文章结尾)