ASP.NET 核心默认模板项目因 HTTP 错误 404 或异常而失败
ASP.NET Core default template project fails with HTTP ERROR 404 or Exception
我在使用 ASP.NET Core MVC 或 Razor applaunch.json
时遇到问题。
我使用默认模板创建具有默认设置的项目:
- ASP.Net 核心 Web 应用程序 - Dot Net 6
- ASP.Net 核心 Web 应用程序 MVC - Dot Net 6
这是我的 applaunch.json
:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:18583",
"sslPort": 44326
}
},
"profiles": {
"WebApplication12": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7081;http://localhost:5081",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
和program.cs:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
启动控制台后显示监听端口没有问题:
但我的 ASP.NET 核心 MVC 项目出现异常:
我得到 404 个 Razor Pages:
所有配置均为默认模板配置。
有没有人遇到同样的问题?
我通过使用 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
包并添加以下服务解决了这个问题:
对于 ASP.NET Core Razor 模板
builder.Services.AddRazorPages().AddRazorRuntimeCompilation();
对于 MVC 项目模板:
builder.Services.AddControllersWithViews().AddRazorRuntimeCompilation();
第二种解决方案是在 Developer Power Shell 或 Command-Line 中使用 dotnet run watch
。
我在使用 ASP.NET Core MVC 或 Razor applaunch.json
时遇到问题。
我使用默认模板创建具有默认设置的项目:
- ASP.Net 核心 Web 应用程序 - Dot Net 6
- ASP.Net 核心 Web 应用程序 MVC - Dot Net 6
这是我的 applaunch.json
:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:18583",
"sslPort": 44326
}
},
"profiles": {
"WebApplication12": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7081;http://localhost:5081",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
和program.cs:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
var app = builder.Build();
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
启动控制台后显示监听端口没有问题:
但我的 ASP.NET 核心 MVC 项目出现异常:
我得到 404 个 Razor Pages:
所有配置均为默认模板配置。
有没有人遇到同样的问题?
我通过使用 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
包并添加以下服务解决了这个问题:
对于 ASP.NET Core Razor 模板
builder.Services.AddRazorPages().AddRazorRuntimeCompilation();
对于 MVC 项目模板:
builder.Services.AddControllersWithViews().AddRazorRuntimeCompilation();
第二种解决方案是在 Developer Power Shell 或 Command-Line 中使用 dotnet run watch
。