ASP.NET Core 找不到此本地主机页面

问题描述 投票:0回答:14

有人遇到过这样的问题吗?我认为这与 IIS 等有关...我使用 IIS 10 也使用 VS2017 和 ASP.NET Core。当我启动应用程序时,我看到了这个错误:

找不到此本地主机页面

未找到该网址的网页:http://localhost:44306/

我尝试更改端口。但没有任何作用。 我尝试了其他应用程序,它可以工作,但只有这个项目有这种错误,我不知道为什么。

知道如何解决这个问题吗?

更新:

iis asp.net-core-mvc
14个回答
46
投票

当我意识到我不小心删除了 StartUp 类的配置方法中的默认路由时,我解决了这个问题:

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });

27
投票

这与此答案类似,但展示了如何在.Net Core 3.0版本中定义路由

在尝试访问我的 API 端点 https://localhost:44380/api/Restaurants 时,我遇到了类似的问题

为了映射从

ControllerBase
类继承的 API 控制器类的路由,我需要将行
endpoints.MapControllers
添加到
Configure
类的
Startup.cs
方法,如下所示:

        //Pre .NET core 3.0 way of doing things
        //app.UseMvc(routes => {<some routing stuff here>});

        //.NET core 3.0 way
        app.UseRouting();
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapRazorPages(); //Routes for pages
            endpoints.MapControllers(); //Routes for my API controllers
        });

11
投票

如果上面的答案不起作用或者您刚刚学习过 .NET Web API 教程,这可能会有所帮助。所以对我来说,我从

launchUrl
中删除了
launchSettings.json
属性,因为我想使用静态页面(按照我正在遵循的教程的说明),并且忘记在匆忙中添加 2 行。我终于回去查看了它,这解决了我的问题。

打开

Startup.cs
文件并在
public void Configure...
内的
app.UseMvc();
行上方添加以下内容:

app.UseDefaultFiles();
app.UseStaticFiles();


5
投票

我遇到了同样的问题,但这个错误是一个愚蠢的错误,因此解决方案非常简单! 我的路线中有一个拼写错误 我错误地在控制器名称后面添加了一个空格 我知道这不是很技术性的答案,但仔细检查不会有什么坏处

是:

app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute("Default", "{controller= Home}/{action=Index}/{id?}");
});

更正为:

app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute("Default", "{controller=Home}/{action=Index}/{id?}"); 
});

4
投票

遇到了同样的问题,结果我无意中通过重构将 HomeController 的 Index() 方法更改为属性

public ViewResult Index() => View()

成为

public ViewResult Index => View();

1
投票

就我而言,我将

index
名称修改为
HomePage
,并通过检查几个地方来解决它:

(您可以在整个解决方案中搜索

index
来查看)

  1. Views/_Layout.cshtml
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="HomePage">xxx</a>
  1. Startup.cs
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=HomePage}/{id?}");
});
  1. Controllers/HomeController.cs
public IActionResult HomePage()
{
    return View();
}

我编辑了三个地方后,效果很好。


0
投票

确保项目、lauchsettings.json 端口设置正确。


0
投票

如果发生这种情况,则说明您缺少 wwwroot 文件夹。


0
投票

这发生在我身上,因为我已将 .net core 1 Razor 页面复制到我的 .net core 2.2 项目中。我向 Razor 页面添加了 @page 声明,一切正常。只需在此处添加此内容,因为这是此问题的第一个 Google 结果。


0
投票

请务必检查并尝试以下项目:

  1. 更改项目属性中的端口号。

  2. 使用“iisreset”命令在cmd中重置IIS。

  3. 检查 StartUp.cs 以确保

    app.UseEndpoints(端点=> { 端点.MapControllerRoute( 名称:“默认”, 模式:“{controller=Home}/{action=Index}/{id?}”); });

  4. 重新启动了VS和笔记本电脑,但也无济于事。

  5. 检查了launchSetting.json,但一切都是正确的。


0
投票

就我而言,它只是切换到 ISS 在启动时提供的另一个本地主机端口。第一个出现错误“找不到页面”,但第二个按预期工作。


0
投票

在您的项目中,转到属性 -> launchSettings.json(双击)

在 iisSettings -> iisExpress -> applicationUrl 中(更改本地主机的端口号)

再试一次,问题应该可以成功解决。


0
投票

每次我向项目添加剃刀页面时都会发生这种情况。 解决方案是在 Visual Studio 中单击 cshtml 文件,然后将“构建操作”从“无”设置为“内容”。每次都解决问题(对我来说)。


-1
投票

嗨..Garena Freefire 团队,亲爱的先生/女士,请解禁我的 ID,使用 1899449508 配置文件一次,只是为了好玩。请解封我的免费火帐户。一旦将来解封我的免费火帐户,我就再也没有使用过任何配置文件。我花了近7000单反,我的旧ID我也属于贫困家庭,请解禁我的免费消防帐户,拜托。 🥺🙏🙏🙏🙏🙏 我希望你能解禁我的免费消防帐户。 “我喜欢免费消防给我最后一次机会”我保证我从未使用过任何第三方应用程序和文件。请解冻我的账号。账号uid:1899449508 游戏名称: Ɲ带᭄❤️இளவரசி࿐ ID 级别:65 电子邮件:[电子邮件受保护] 我正在等待我的帐户,谢谢🙏

© www.soinside.com 2019 - 2024. All rights reserved.