nhu*_*uvy 29 c# asp.net-core blazor visual-studio-2019 asp.net-core-3.0
我使用的是 Microsoft Visual Studio 2019 社区预览版,版本 16.4.0 预览版 1.0。我刚刚更新到 Windows 10 Pro Version 1903 OS build 18362.418 。使用 ASP.NET Core 3 Web 应用程序项目(Blazor Server),当我按下 时F5,我发现错误
我可以手动去https://localhost:44333/,但是不方便。当我停止调试时,我也会在任务栏上手动关闭它。
使用另一个网络应用程序项目,问题不会发生。
当我选择或不选择 option 时Enable native code debugging,不会成功。
如何解决?
Jos*_*des 29
启用/禁用 SSL
这是简单的解决方法。对我来说,在 Visual Studio 内的项目调试选项卡中切换“启用 SSL”设置(只需将其更改为与当前设置的相反并运行项目)已解决该问题。
据我了解,这可能有两个原因。首先,它会导致 Visual Studio 更新 Applicationhost Config(稍后会详细介绍)。其次,有时会绑定 SSL 地址。因此禁用 SSL 会禁用该问题。
应用主机配置
打开您的$(solutionDir)\.vs\config\applicationhost.config文件并确保您的网站如下所示:
<site name="[YOUR PROJECT NAME]" id="3">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="//PATH/TO/YOUR PROJECT" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:[YOUR_PORT]:localhost" />
<binding protocol="https" bindingInformation="*:[YOUR_SSL_PORT]:localhost" />
</bindings>
</site>
Run Code Online (Sandbox Code Playgroud)
确保 iplisten 配置为 0.0.0.0
如果未配置 IP 侦听列表,则可能会出现此问题(注意,我不知道为什么)。
检查 netsh 以确保有 0.0.0.0 的条目
PS C:\Windows\system32> netsh http show iplisten
IP addresses present in the IP listen list:
-------------------------------------------
::
0.0.0.0
PS C:\Windows\system32>
Run Code Online (Sandbox Code Playgroud)
如果不存在,请添加正确的 netsh 规则。为此,您需要一个管理员 cmd.exe 或管理员 PowerShell。
PS C:\Windows\system32> netsh http add iplisten ipaddress=0.0.0.0
Run Code Online (Sandbox Code Playgroud)
确保没有任何内容绑定到您正在使用的地址
对我来说,这似乎是 Blazor 的一个问题。如果地址绑定到 Blazor 尝试使用的地址,这可能会导致问题。netsh再次使用以检查正在使用的内容。
netsh http show urlacl
Run Code Online (Sandbox Code Playgroud)
一个看起来像这样的条目
Reserved URL : http://*:50902/
User: \Everyone
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;WD)
Run Code Online (Sandbox Code Playgroud)
可以用这个命令删除
netsh http del urlacl url=http://*:50902/
Run Code Online (Sandbox Code Playgroud)
g.p*_*dou 27
我遇到了与 OP 描述的完全相同的问题,我的意思是我收到了错误消息,但是检查了 IIS Express 图标,显示一切正常,因此手动转到 url 工作正常。
从字面上尝试了上面描述的所有内容,包括
没有任何帮助。
我知道作为“解决方案”这是荒谬的,但是在花了半个小时之后,我终于重新启动了我的机器,从那时起一切都在工作......值得一试
bro*_*man 16
我想我会投入对我有用的东西,即使我迟到了。上面的解决方案对我不起作用。
瞧
Iva*_*vak 10
没有什么对我有用 (包括删除.vs、删除obj和bin、清理项目、重新启动 VS Studio、运行netstat -ao | findstr <port number>以找出谁在使用我的端口等等)。没有什么。
除了这个之外什么也没有:
Get-Process -Id (Get-NetTCPConnection -LocalPort MY-PORT-NUMBER).OwningProcess(将端口号更改为您的端口号)service host: windows push notifications system service正在使用我的端口。注意ID这个过程和..ID情况下无法杀死该父进程本身)就是这样。我的情况就是如此windows push notifications system service。一旦我找到它并杀死它 - 一切都正常,无需重新启动整个计算机或更改端口号。
我过去偶尔也遇到过这个问题。我通常可以通过以下方式解决问题:
在其他情况下,我曾让公司安全软件干扰 Visual Studio/IIS Express 操作。通常,您可以通过以管理员身份运行 Visual Studio 来解决该问题。我试图向保安人员解释这是一个多么糟糕的想法,但他们通常不理解。
最后,如果您正在运行 Asp.Net Core 应用程序,您可以放弃 IIS Express。如果您查看播放按钮旁边,会看到一个下拉列表,上面写着“IIS Express”。如果您打开列表,您将在其中看到您的应用程序的名称。选择那个。您将使用 kestrel 而不是 IIS Express 运行。
小智 5
我遇到了同样的问题,我可以通过更改端口号来解决它。
| 归档时间: |
|
| 查看次数: |
36553 次 |
| 最近记录: |