有人遇到过这样的问题吗?我认为这与 IIS 等有关...我使用 IIS 10 也使用 VS2017 和 ASP.NET Core。当我启动应用程序时,我看到了这个错误:
找不到此本地主机页面
未找到该网址的网页:http://localhost:44306/
我尝试更改端口。但没有任何作用。 我尝试了其他应用程序,它可以工作,但只有这个项目有这种错误,我不知道为什么。
知道如何解决这个问题吗?
更新:
当我意识到我不小心删除了 StartUp 类的配置方法中的默认路由时,我解决了这个问题:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
这与此答案类似,但展示了如何在.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
});
如果上面的答案不起作用或者您刚刚学习过 .NET Web API 教程,这可能会有所帮助。所以对我来说,我从
launchUrl
中删除了 launchSettings.json
属性,因为我想使用静态页面(按照我正在遵循的教程的说明),并且忘记在匆忙中添加 2 行。我终于回去查看了它,这解决了我的问题。
打开
Startup.cs
文件并在 public void Configure...
内的 app.UseMvc();
行上方添加以下内容:
app.UseDefaultFiles();
app.UseStaticFiles();
我遇到了同样的问题,但这个错误是一个愚蠢的错误,因此解决方案非常简单! 我的路线中有一个拼写错误 我错误地在控制器名称后面添加了一个空格 我知道这不是很技术性的答案,但仔细检查不会有什么坏处
是:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("Default", "{controller= Home}/{action=Index}/{id?}");
});
更正为:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("Default", "{controller=Home}/{action=Index}/{id?}");
});
遇到了同样的问题,结果我无意中通过重构将 HomeController 的 Index() 方法更改为属性
public ViewResult Index() => View()
成为
public ViewResult Index => View();
就我而言,我将
index
名称修改为HomePage
,并通过检查几个地方来解决它:
(您可以在整个解决方案中搜索
index
来查看)
Views/_Layout.cshtml
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="HomePage">xxx</a>
Startup.cs
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=HomePage}/{id?}");
});
Controllers/HomeController.cs
public IActionResult HomePage()
{
return View();
}
我编辑了三个地方后,效果很好。
确保项目、lauchsettings.json 端口设置正确。
如果发生这种情况,则说明您缺少 wwwroot 文件夹。
这发生在我身上,因为我已将 .net core 1 Razor 页面复制到我的 .net core 2.2 项目中。我向 Razor 页面添加了 @page 声明,一切正常。只需在此处添加此内容,因为这是此问题的第一个 Google 结果。
请务必检查并尝试以下项目:
更改项目属性中的端口号。
使用“iisreset”命令在cmd中重置IIS。
检查 StartUp.cs 以确保
app.UseEndpoints(端点=> { 端点.MapControllerRoute( 名称:“默认”, 模式:“{controller=Home}/{action=Index}/{id?}”); });
重新启动了VS和笔记本电脑,但也无济于事。
检查了launchSetting.json,但一切都是正确的。
就我而言,它只是切换到 ISS 在启动时提供的另一个本地主机端口。第一个出现错误“找不到页面”,但第二个按预期工作。
在您的项目中,转到属性 -> launchSettings.json(双击)
在 iisSettings -> iisExpress -> applicationUrl 中(更改本地主机的端口号)
再试一次,问题应该可以成功解决。
每次我向项目添加剃刀页面时都会发生这种情况。 解决方案是在 Visual Studio 中单击 cshtml 文件,然后将“构建操作”从“无”设置为“内容”。每次都解决问题(对我来说)。
嗨..Garena Freefire 团队,亲爱的先生/女士,请解禁我的 ID,使用 1899449508 配置文件一次,只是为了好玩。请解封我的免费火帐户。一旦将来解封我的免费火帐户,我就再也没有使用过任何配置文件。我花了近7000单反,我的旧ID我也属于贫困家庭,请解禁我的免费消防帐户,拜托。 🥺🙏🙏🙏🙏🙏 我希望你能解禁我的免费消防帐户。 “我喜欢免费消防给我最后一次机会”我保证我从未使用过任何第三方应用程序和文件。请解冻我的账号。账号uid:1899449508 游戏名称: Ɲ带᭄❤️இளவரசி࿐ ID 级别:65 电子邮件:[电子邮件受保护] 我正在等待我的帐户,谢谢🙏