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
});
解決方法 2
這個方法比理性
就是更改 開發電腦的 Environment Variable Settings
我們可以使用Command prompt
執行以下指令設定環境變數
Environment Variable
set ASPNETCORE_ENVIRONMENT=Development
詳情可以參考以下網頁 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments
Hope you find it useful