我已经在这里和其他地方搜索过以找出问题所在,但找不到好的解决方案。我创建了一个针对 .NET6 的新 .NET Core Web 应用程序。我在没有身份验证且没有 Docker 支持的情况下创建了该项目。我希望新的应用程序能够使用默认登录页面开箱即用,但我却收到网页未找到错误。它没有点击 Razor 页面的 Index OnGet 方法。这是一个简单的应用程序,我只想自己运行,所以我不会使用 MVC,只使用 Razor。有人在 .NET 6 中解决了这个问题吗?这是响应、程序类和启动设置:
404错误 https://i.stack.imgur.com/ykRbo.png
程序.cs
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
启动设置
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:30529",
"sslPort": 44345
}
},
"profiles": {
"FinanceTracker": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:7137;http://localhost:5137",
"dotnetRunMessages": true
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
编辑:新信息...
它继续出错,直到我执行以下操作:
从控制台运行项目(dotnet run)
导航到预期的 url
关闭
单击“启动但不调试”
应用程序打开
关闭
现在它允许我从调试中运行
NET6 模板发生了一些奇怪的事情
EDIT2:
每次更改代码时,我都必须运行 dotnet run 。否则我在启动程序时会遇到同样的错误。
EDIT3:
如果我从 CLI 运行 dotnet build,它将在调试模式下运行。如果我只是从 VS 重建,则不会。如果我更改代码,我必须在调试模式下运行之前运行 dotnet build。
正如下面对评论/答案的回复所述,这不是端口问题。我在VS2019中用相同的端口在NET5中创建了一个镜像项目,并且运行良好。从 VS 2022 尝试 NET6 效果不太好。也许我在 VS 2022 中配置错误?