有没有人遇到过这种问题?我认为它与IIS有关...我正在使用IIS 10也使用VS2017和ASP.NET Core。当我启动应用程序时,我看到了这个错误:
无法找到此本地主页
找不到网址的网页:http://localhost:44306/
我尝试更改端口。但没有任何作用。 我尝试了其他应用程序,但只有这个项目有这种错误,我不知道为什么。
任何想法如何解决这个问题?
更新
答案 0 :(得分:11)
当我意识到我在StartUp类'配置方法中意外删除了默认路由时,我解决了这个问题:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
答案 1 :(得分:5)
这类似于ToMissTheMarc的答案,但显示了如何在.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
});
答案 2 :(得分:4)
如果上述答案不起作用,或者您来自.NET Web API教程,则可能会有所帮助。因此,对我来说,我从launchUrl
中删除了launchSettings.json
属性,因为我想使用静态页面(按照我所遵循的教程的说明),却忘了匆匆添加两行。我终于回过头来查看它,这解决了我的问题。
打开Startup.cs
文件,然后在public void Configure...
内的app.UseMvc();
行上方添加以下内容:
app.UseDefaultFiles();
app.UseStaticFiles();
答案 3 :(得分:1)
遇到同样的问题,原来我无意中通过重构将HomeController的Index()方法更改为属性
$conn = dbManager::getConnection();
$tr = 1;
for($tr; $tr < $day; $tr++){
$dt = new DateTime($start);
$msc = $dt->format('m');
switch ($msc) {
case '1':
$m = '1';
break;
case '2':
$m = '2';
break;
case '3':
$m = '3';
break;
case '4':
$m = '4';
break;
case '5':
$m = '5';
break;
case '6':
$m = '6';
break;
case '7':
$m = '7';
break;
case '8':
$m = '8';
break;
case '9':
$m = '9';
break;
case '10':
$m = '10';
break;
case '11':
$m = '11';
break;
case '12':
$m = '12';
break;
}
if($m < 10){
$mc = '0'.$m;
}else{
$mc = $m;
}
if($tr < 10){
$tr = '0'.$tr;
}else{
$tr = $tr;
}
$data = date('Y-'.$mc.'-'.$tr);
echo "<tr><td>".$data."</td><td style='vertical-align:middle;'>";
$result = $conn->query("SELECT * FROM open ")or die(mysqli_error());
while($row = mysqli_fetch_array($result)){
$Start = $row['Start'];
$End = $row['End'];
$dtb = new DateTime($Start);
$dtb_e = new DateTime($End);
$dtb_e->add(new DateInterval('PT1H'));
$w= $dtb->format('Y-m-d');
$ts = $dtb->format('H');
$te = $dtb_e->format('H');
if($w == $data){
for($h=1;$h<24;$h++){
if($h >= $ts && $h <= $te){
if($w < date('Y-m-d')){
$color ='gray';
}else{
$color = 'green';
}
echo '<p style="display:inline;padding:5px; border:1px solid ;background:'.$color.';color:#fff;border-radius: 5px;margin-right:5px;">'.$h.':00</p>';
}else{
$color = 'gray';
echo '<p style="display:inline;padding:5px; border:1px solid ;background:'.$color.';color:#fff;border-radius: 5px;margin-right:5px;">'.$h.':00</p>';
}
}
if($data >= date('Y-m-d')){
echo '<div style="display:inline;text-align:rigth;margin-left:35px;"><a class="btn btn-sm btn-success" href="edit_termin.php?Start='.$row['Start'].'&End='.$row['End'].'&ID='.$row['ID'].'" role="button">Edytuj</a><a class="btn btn-sm btn-danger" href="del_open.php?Start='.$row['Start'].'&End='.$row['End'].'&ID='.$row['ID'].'" role="button">Usuń</a></div>';
}else{
echo '<div style="display:inline;text-align:rigth;margin-left:35px;"><a class="btn btn-sm btn-success disabled" href="edit_termin.php?Start='.$row['Start'].'&End='.$row['End'].'&ID='.$row['ID'].'" role="button">Edytuj</a><a class="btn btn-sm btn-danger disabled" href="del_open.php?Start='.$row['Start'].'&End='.$row['End'].'&ID='.$row['ID'].'" role="button">Usuń</a></div>';
}
if($data != $data){
$dodaj = '<div style="display:inline;text-align:rigth;margin-left:35px;"><a class="btn btn-sm btn-success" href="edit_termin.php?Start='.$data.'" role="button">Dodaj</a></div>';
echo $dodaj;
}else{
echo 'x';
}
}else{
if($data != $data){
$dodaj = '<div style="display:inline;text-align:rigth;margin-left:35px;"><a class="btn btn-sm btn-success" href="edit_termin.php?Start='.$data.'" role="button">Dodaj</a></div>';
echo $dodaj;
}else{
echo 'x';
}
echo '<div style="display:inline;text-align:rigth;margin-left:35px;"><a class="btn btn-sm btn-success" href="edit_termin.php?Start='.$data.'" role="button">Dodaj</a></div>';
}
}
}
echo "</td></tr>";
成为
public ViewResult Index() => View()
答案 4 :(得分:1)
我遇到了同样的问题,但是错误是一个愚蠢的错误,因此解决方案非常容易! 我的路线上有错字 我在控制器名称后错误地添加了空格 我知道它的技术性不是很高,但是再次检查并不会造成伤害
是:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("Default", "{controller= Home}/{action=Index}/{id?}");
});
更正为:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("Default", "{controller=Home}/{action=Index}/{id?}");
});
答案 5 :(得分:0)
确保项目,lauchsettings.json端口设置正确。
答案 6 :(得分:0)
如果发生这种情况,则缺少wwwroot文件夹。
答案 7 :(得分:0)
发生这种情况是因为我已将.net核心1 Razor Page复制到我的.net核心2.2项目中。我在剃刀页面上添加了@page声明,一切正常。只需在此处添加它,因为这是该问题的第一个Google结果。
答案 8 :(得分:0)
请务必检查并尝试以下项目:
在项目属性中更改端口号。
使用“ iisreset”命令在cmd中重置IIS。
检查了StartUp.cs以确保
app.UseEndpoints(端点=> { endpoints.MapControllerRoute( 名称:“默认”, 模式:“ {controller = Home} / {action = Index} / {id?}”); });
重新启动VS和笔记本电脑,但无济于事。
检查了launchSetting.json,但一切正确。
答案 9 :(得分:0)
在我的情况下,我将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();
}
在我编辑了三个位置之后,它运行良好。