ASP.Net Core Enable Development Error

由於不太了解 ASP.Net Core with Angular / React Webpack 的關係
當遇到有 Angular / React的問題是都不知道那裡出錯
* 我的Angular / ReactJs Project是用 dotnet core 的 SPA template 建立的

過了幾天才發現..
由於是使用

dotnet run

dotnet watch run

的關係
所以執行的 port 和visual studio執行時debug 的port不一樣..
可能是這樣所以被定義為不是 development mode
所以網頁的error 便被隱藏了

解決方法有兩個

解決方法 1
我們可以在Startup.cs
Enable Developer Error 便可以了
E.G.
在以下的function 上

  public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
      

移除這個If statement
當程式遇到錯誤時執行這個Developer Error

/*
if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions {
                    HotModuleReplacement = true
                });
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }
*/

 app.UseDeveloperExceptionPage();
                app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions {
                    HotModuleReplacement = true
                });

 startup.cs
解決方法 2

這個方法比理性
就是更改 開發電腦的 Environment Variable Settings
我們可以使用Command prompt
執行以下指令設定環境變數 Environment Variable

set ASPNETCORE_ENVIRONMENT=Development

Set up ASPNETCORE Environment Variable
詳情可以參考以下網頁
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments

Hope you find it useful

Leave a Reply