localhost拒绝在visual studio中连接Error

时间:2016-05-20 17:32:51

标签: asp.net-mvc visual-studio iis-express

我已从其他系统复制了我的解决方案文件并尝试在我的机器上运行它: 为此,我已转到项目文件夹并删除了以前的解决方案文件并复制了新文件。

现在,它开始给我错误。因此,我从这里得到了一个解决方案:How to solve ERR_CONNECTION_REFUSED when trying to connect to localhost running IISExpress - Error 502 (Cannot debug from Visual Studio)?

根据它,我将端口号从1049更改为1052.它已加载,其中一个页面被加载。 但是当我输入所需的登录凭据时,它再次重定向到旧端口,如下所示:

http://localhost:1049/Home/SearchFlight

,错误是:

 This site can’t be reached

 localhost refused to connect.
 Search Google for localhost 1049 Home Search Flight
 ERR_CONNECTION_REFUSED

现在,我不知道该怎么做。我已将端口号更改为1052但仍指向1049.我现在该怎么办?

33 个答案:

答案 0 :(得分:75)

我有类似的问题。试试这个,它应该工作

  1. 转到项目文件夹并打开.vs文件夹(保持检查隐藏的项目框,因为有时可能会隐藏此文件夹)

  2. 在.vs文件夹中 - 打开配置

  3. 看到那个applicationhost配置文件?删除那个东西。(不要担心重新编译项目后它会自动重新生成。)

答案 1 :(得分:16)

更改端口号已解决问题

enter image description here

答案 2 :(得分:11)

通常在本地计算机上,我们会收到诸如 This site can't be reached localhost refused to connect 之类的错误,因为我们为本地IIS Express破坏了自签名证书配置。有时,当您更改launchSettings.json中的URL或根本没有在此计算机上配置自签名证书时,就会发生这种情况。

在本地计算机上修复自签名证书,您需要:

  1. 删除.vs文件夹(需要关闭Visual Studio 2017)
  2. cmd As Administrator中运行以下命令:

    cd C:\ Program Files(x86)\ IIS Express

    IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:12345/ -UseSelfSigned

  3. 确保您运行VS2017 As Administrator并检查问题是否解决

注意:https://localhost:12345/是您launchSettings.jsonHTTPS的内容

答案 3 :(得分:8)

我遇到了同样的问题。删除.vs文件夹(包括所有内容,文件夹可能隐藏)对我有用。

答案 4 :(得分:7)

只需删除项目文件夹中的(obj)Object文件夹然后运行应用程序然后它将正常工作。 步骤进行:

  1. 右键单击项目文件夹,然后选择“在文件资源管理器中打开文件夹”。
  2. 然后找到Obj文件夹并删除它。
  3. 运行应用程序。

答案 5 :(得分:4)

不幸的是,这些答案都不对我有用。这个答案最终仅适用于Chrome。不幸的是,您每次都必须这样做:

  1. 在浏览器中打开它:chrome:// net-internals /#hsts
  2. 转到“删除域安全策略”
  3. 输入“ localhost”
  4. 重新启动浏览器

Google Chrome redirecting localhost to https

答案 6 :(得分:4)

我以“以管理员身份运行”身份运行Visual Studio,这解决了我的问题。

答案 7 :(得分:2)

如果发现这是因为我一直在使用netsh http add命令使IIS Express远程可见。

症状是:

  • 该站点将无法在浏览器中连接
  • 该站点将无法启动(右键单击任务栏中的IIS Express,该站点已丢失)
  • 如果我以管理员身份运行Visual Studio,它将在IIS Express中启动并在浏览器中可见

解决方案是列出所有绑定的站点:

netsh http show urlacl

然后删除我最近添加的一个:

netsh http delete urlacl url=http://*:54321/


此外,我还从站点的隐藏解决方案文件夹文件localhost中删除了.vs\config\application.config

<bindings>
    <binding protocol="http" bindingInformation="*:54321:" />
</bindings>

所以不得不退回去:

<bindings>
    <binding protocol="http" bindingInformation="*:54321:localhost" />
</bindings>

答案 8 :(得分:2)

转到控制面板>程序和功能> IISExpress>修复

答案 9 :(得分:2)

我通过在以admin:

运行的cmd窗口中列出绑定的IP地址解决了类似的问题
netsh http show iplisten

然后,一个接一个地将它们吹走:

netsh http delete iplisten ipaddress=127.0.0.200
netsh http delete iplisten ipaddress=127.0.0.2
...

答案 10 :(得分:1)

使用.net core 2.0在VS2017 v 15.6.7中发生了这种情况。

当项目首次启动时,它为localhost创建了一个SSL证书,并且启动正常。当我禁用SSL时,我一直遇到这个问题。

显然,当您禁用SSL时,端口号会更改,并且并非所有端口号都更改为新端口。确保Debug上的端口号都是相同的数字。 enter image description here

答案 11 :(得分:1)

我遇到了这个问题,并通过关闭所有打开的Visual Studio实例解决了这个问题。

答案 12 :(得分:1)

更改端口号并删除脚本调试(如果启用)以在localhost中进行解析。

答案 13 :(得分:0)

这些解决方案都不适合我。我不是 100%,但我认为我的问题可能是在多个分支的同一个端口上运行同一个项目。这曾经是我在本地 IIS 上的一个问题——我不确定这是否也是 IIS Express 上的一个问题。对我有用的是遵循此解决方案:

https://stackoverflow.com/a/27033934/2133723

说去:

文件 -> 打开 -> 网站...

并删除相关项目。在此之后,我能够在不更改端口的情况下运行该项目。

在执行此操作之前,我遵循了在此问题上发布的其他解决方案(这对我没有帮助),例如删除 .vs 文件夹,因此我不确定这是否是之前的必要步骤从文件 -> 打开 -> 网站... 中删除网站。

答案 14 :(得分:0)

以管理员身份打开cmd并运行以下命令:

netsh http delete iplisten ipaddress=xxx.xxx.x.xxx

ipaddress是你的私人IP 这对我有用。

答案 15 :(得分:0)

我遇到了同样的问题。...我尝试了上述所有操作,但无济于事.....然后我只是关闭了Windows防火墙,它对我有用。 因此,只需关闭防火墙并以管理员身份运行Visual Studio。

答案 16 :(得分:0)

我的问题竟然是一个自称属性:

enter image description here

一旦我解决了这个问题,误导性连接错误消息就会消失。

答案 17 :(得分:0)

尝试删除本地主机的Cookie

enter image description here

答案 18 :(得分:0)

今天早上开始使用Visual Studio Community 2019调试配置时,我遇到了类似的问题。 IIS Express(Google Chrome)网站无法访问。当我通过Visual Studio中的红色“停止”按钮终止程序执行时,我收到一条Windows错误消息,提示“ id为4 ###的进程未运行”。

计算机已被放置过夜。

我仔细阅读了这里的答案,解决方案看起来很复杂。我尝试关闭并重新打开解决方案,重新启动Visual Studio,最后重新启动计算机。

重新启动计算机解决了我的问题。我没有删除任何文件或更改任何其他设置。

答案 19 :(得分:0)

有时https和http端口可以相同,因为如果给两个标签相同的端口 IISExpressSSLPortDevelopmentServerPort 确保这两个端口具有不同的端口 然后在IISUrl中使用默认端口HTTP或HTTPS

https://localhost:44365
  • 对于HTTPS,请使用IISExpressSSLPort
  • 对于HTTP使用DevelopmentServerPort

然后您可以删除解决方案文件夹中隐藏的.vs文件夹

答案 20 :(得分:0)

在没有任何管理员权限的计算机上,我遇到了同样的问题。

摆脱项目文件夹中的.vs文件夹(applicationhost.config文件)是不够的。

什么对我有用...我

  • 已删除bin文件夹(当我重用现有项目时)
  • 已删除的Obj文件夹
  • 已删除.vs文件夹
  • 更改了项目的端口(我使用了3000),就像@vinayakhegde在上面提到的一样,我还创建了一个虚拟目录
  •  --

到目前为止,Localhost正在访问该解决方案。

希望有帮助

答案 21 :(得分:0)

这里存在同样的问题,但我认为我的原因是由于安装了最新版本的Visual Studio并同时运行了该解决方案的2015和2019版本。我删除了整个.vs文件夹,然后重新启动Visual Studio,它可以正常工作。

我认为问题在于,.vs文件夹中每个版本的Visual Studio都有多种配置,这似乎搞砸了。

答案 22 :(得分:0)

对我来说,问题在于配置已设置为自定义AsLive而不是Debug

enter image description here

将其设置回给我排序

答案 23 :(得分:0)

我按顺序执行了以下操作,对我有用:

  1. 删除.vs文件夹
  2. 删除obj文件夹
  3. 关闭VS Studio
  4. 重启机器

答案 24 :(得分:0)

就我而言,是Visual Studio 2017> Tools > Options

在侧面列表的“调试”菜单中找到Edit and Continue

Uncheck启用编辑并继续复选框

这解决了我的问题。

答案 25 :(得分:0)

我最近遇到了这个确切的问题,并尝试了大多数建议,但事实证明我的问题有所不同。

如果您使用的是HTTP,我们的应用程序具有一个将您重定向到HTTPS的部分(是的,我知道有更好的方法,但这是传统的)。此外,在开发人员模式下,对本地主机有特殊处理,可将您重定向回HTTP,尽管我不知道为什么。

我有一个新要求,要求在HTTPS中进行测试。

在普通网页上,将http://更改为https://并调用Redirect可以正常工作,但是在IISExpress中,您使用的是自定义端口。因此,例如,如果您在https://localhost:44300上,则不能仅切换到http://localhost:44300 b / c,该端口仅提供https服务,而不提供http。

因此,如果遇到此问题,并且已经清除了配置文件,但没有帮助,请检查代码中的重定向。您可能会使用硬编码或部分硬编码的URL或未更新为https的配置文件中的URL。

更新: 我还建议清除所有.suo和.user文件,其他人则建议清除obj /文件夹。我建议先关闭VS,然后重新启动。当我尝试设置https://和更改端口时,缓存端口的值给我带来很多麻烦。我也建议尝试使用此建议来检查SSL端口是否在正确范围内,尽管我不知道这是否仍然是https://stackoverflow.com/a/24957146

答案 26 :(得分:0)

为了让我能够工作,我所要做的就是重新创建虚拟目录。我重新安装了Windows,然后将项目从Git中取出。要执行此操作,请右键单击解决方案项目并选择“属性”,然后转到“Web”选项卡并单击“项目URL”旁边的“创建虚拟目录”。

我希望这也有助于其他人!

答案 27 :(得分:0)

重启机器是唯一对我有用的东西

答案 28 :(得分:0)

右键单击Project&gt;&gt;属性&gt;&gt; 选择Web标签&gt;&gt;在服务器下选择“使用可视化开发服务器” 所以间接它将取消选中“本地IIS服务器”

希望它可以解决这个问题。

答案 29 :(得分:0)

我已经尝试了所有方法,但没有任何效果,但是确实如此。 如果您可以在本地IIS而不是Express上进行调试,请如下图所示更改配置。不要忘记单击“创建虚拟目录”

enter image description here

答案 30 :(得分:0)

此解决方案对我有用:

  1. 转到您的项目文件夹并打开.vs文件夹(将选中的复选框保留为选中状态,因为此文件夹有时可能会被隐藏)

  2. .vs文件夹中的
  3. -打开配置

  4. 看到那里的applicationhost配置文件吗?删除该内容。(不用担心,一旦重新编译项目,它将自动重新生成。)

答案 31 :(得分:0)

我必须在本地IIS中添加https绑定

答案 32 :(得分:0)

就像Donny V.在使用.net core 2.0的VS2017中发生的这件事。

项目首次启动时,VS显示了一个对话框,可以为本地主机创建SSL证书-但我不想使用SSL,所以我停止运行并进入“项目属性”并禁用了SSL(该复选框可以被清除)。之后,我不断地描述问题。

尝试了许多事情之后,实际上为我解决了这个问题的是编辑位于[ProjectName] / Properties下的launchSettings.json文件-可从解决方案资源管理器访问该文件。

编辑完成后,内容看起来像这样(其中12345是端口号,而MyNETCoreApp是项目的名称)。

{
    "iisSettings": {
        "windowsAuthentication": false,
        "anonymousAuthentication": true,
        "iisExpress": {
            "applicationUrl": "http://localhost:12345/"
        }
    },
    "profiles": {
        "IIS Express": {
            "commandName": "IISExpress",
            "launchBrowser": true,
            "launchUrl": "http://localhost:12345/",
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            }
        },
        "MyNETCoreApp": {
            "commandName": "Project",
            "launchBrowser": true,
            "environmentVariables": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "applicationUrl": "http://localhost:12345/"
        }
    }
}

我所做的编辑是:

  • 更新了端口号,使它们都相同
  • 一次删除了ssl:0的key:value
  • 将所有https://实例更新为http://