簡體   English   中英

.NET 6 核心 Web 應用程序返回 web 找不到頁面

[英].NET 6 Core Web App Returns web page not found

我已經在這里和其他地方搜索以找出問題所在,但找不到好的解決方案。 我創建了一個新的 .NET Core Web App targeting .NET6。 我在沒有身份驗證且沒有 Docker 支持的情況下創建了項目。 我希望一個新的應用程序可以使用默認登錄頁面開箱即用,但我卻收到一個找不到網頁的錯誤。 它沒有命中 Razor 頁面的 Index OnGet 方法。 這是一個簡單的應用程序,我只打算自己運行,所以我不會使用 MVC,只有 Razor。有沒有人在 .NET 6 中解決了這個問題? 這是響應、程序 class 和 launchSettings:

404錯誤

程序.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"
      }
    }
  }
}

編輯:新信息...

在我執行以下操作之前,它一直出錯:

從控制台運行項目 (do.net run) 導航到預期的 url Close 單擊“Start without Debugging” App opens Close 現在允許我從調試運行 Something funky going on the template for .NET6

編輯2:

每次更改代碼時,我都必須運行 do.net run。 否則我在啟動程序時會遇到同樣的錯誤。

編輯3:

如果我從 CLI 運行 do.net build,它將在之后以調試模式運行。 如果我只是從 VS 重建,它不會。 如果我更改代碼,則必須在以調試模式運行之前運行 do.net build。

正如下面對評論/答案的回復所提到的,這不是端口問題。 我在 VS2019 中用相同的端口在 .NET5 中創建了一個鏡像項目,它工作正常。 從 VS 2022 嘗試 .NET6 效果不佳。 也許我在 VS 2022 中配置錯誤?

我只在您重用端口時才看到這一點。 有時這是因為我有其他 .net6 在啟動時運行 windows 服務,我忘記了它們通常在端口 80 上啟動。

這個答案來自微軟問答。 更新解決了這個問題,但我相信修復也能解決問題:

ZhiLv-MSFT JacaruTech-8119 · 5 天前 無法重現我這邊的問題,我使用的是 VS 2022 17.1.0 版本 windows 10 開發。

在單擊開始調試按鈕之前,您是否曾經保存更改並構建項目? 嘗試先右擊項目並構建應用程序,然后點擊開始按鈕調試項目,這個問題是否消失了?

另外,你能告訴我們詳細的VS版本嗎? 不確定問題是否與 VS 有關,但您可以嘗試通過 Visual Studio Installer 修復 VS 並檢查它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM