16

我安装了 Visual Studio 2019 16.6.2,以及 .NET Core 3.1.301 SDK 和所有必要的 Blazor 模板。

如果我创建一个全新的 Blazor WebAssmbly 应用程序,我可以通过按Ctrl+从 Visual Studio 运行它F5,它会在我的活动浏览器窗口中打开一个新选项卡并正常启动。

但是当我按下 时F5,会打开一个新的、单独的浏览器窗口(这有点烦人),但页面会停留about:blank一段时间,直到 Visual Studio 中出现错误消息:

Failed to launch debug adapter.  Additional information may be available in the output window.

Unable to launch browser: 
"Could not open wss://localhost:5001/_framework/debug/ws-proxy?browser=wsAFFlocalhostA50821FdevtoolsFbrowserFceed3b95-58ac-470a-b10c-5d139cfd7117": timeout after 60000ms

Blazor WebAssembly 应用程序是否“托管”并没有区别。

我已经按照在 ASP.NET Core 中强制 HTTPS 中的步骤进行操作,但这并没有什么区别。

如果在等待about:blank窗口崩溃时,我在浏览器选项卡上手动打开客户端 url,应用程序加载并且调试器断点被命中。在它继续崩溃之前的短时间内,如果我点击Shift+ Alt+ ,D总是会收到以下错误:

Unable to find debuggable browser tab
Could not get a list of browser tabs from http://127.0.0.1:9222/json. Ensure your browser is running with debugging enabled.

Resolution

If you are using Microsoft Edge (80+) for your development, follow these instructions:
Press Win+R and enter the following:

msedge --remote-debugging-port=9222 --user-data-dir="C:\Users\sergi\AppData\Local\Temp\blazor-edge-debug" --no-first-run https://localhost:44372/

无论我多久运行一次命令(关闭所有浏览器实例,重新启动等),我每次都会得到这个。

这发生在 Edge 84 (Edgium) 和 Chrome 中。

我应该能够创建一个新的 Blazor WebAssembly 应用程序并开箱即用地F5使用 Visual Studio。我错过了什么?

更新

我刚刚尝试使用“旧 Edge”(EdgeHtml)和 Firefox 作为 Visual Studio 中的调试浏览器,并且两者都按预期工作(这意味着应用程序至少在按下 时启动F5)。问题似乎是基于 Chromium 的浏览器然后......

更新 2

@JamesHancock 在评论中发布了一个足够简单的解决方法。对于完整的解决方案(和解释),我已经记录了ASP.NET Core 团队的 Github 问题。

4

7 回答 7

7

对我来说,我app.UseWebAssemblyDebugging();Startup.Configure(). 希望这可以帮助某人。

于 2020-06-20T04:39:38.980 回答
5

在搜索了几天之后,我做了以下事情,它就像魅力一样:

1.安装IE“微软边缘”

2.使用IE“微软边缘”作为你的VS。浏览器(不是Chrome )

3.将您的应用程序用作服务器(不是 IIS EXPRESS)。

享受。 在此处输入图像描述

于 2020-07-23T07:47:15.647 回答
5

问题似乎在于,如果您从项目的 launchSettings.json 文件中删除 IIS Express 部分,则该调试将无法正常工作。即使您在没有 IIS 代理或 VS.net 的情况下直接对项目使用 VS 代码也是如此。

因此解决方案是将 IIS Express 部分放回 launchsettings.json 文件中,并且在修复之前不要将其删除。

于 2020-06-22T14:15:56.950 回答
4

有一个加载完美的项目。把它放了几个星期,当我今晚再次打开它时,我遇到了这个问题。

在 launchsettings.json 我有这个(项目模板中的所有默认值,我没有改变任何东西)

 "IIS Express": {
  "commandName": "IISExpress",
  "launchBrowser": true,
  "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
},

我删除了这一行

  "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",

按F5,它工作!

然后我再次插入它,它仍然有效。

于 2021-09-23T19:35:58.270 回答
2

如果我在创建项目时选择 Configure For HTTPS 选项,则会出现问题。


作为一种解决方法,

  1. 对于 HTTPS 配置的项目settings-sslport,更改为0
  2. applicationUrlhttp://localhost:portlaunchsettings.json

我认为调试适配器存在潜在的安全相关问题。祝你好运!

于 2020-12-26T12:29:04.123 回答
1

我也遇到了这个问题,我通过在项目属性的“Web 服务器设置”下取消勾选“启用 SSL”来解决它。

显然禁用 SSL 几乎在所有情况下都是不可取的,但在我的用例中有效。

如果您在 Windows 7 上开发,请检查您是否安装了具有 IIS SSL 所需的现代 TLS 的 KB,这会导致非 chromium 浏览器中的 SSL 出现问题,以获得更好的解决方案。

于 2022-01-17T14:30:18.223 回答
0

这听起来非常天真,但这对我来说是整个问题。我没有注意到这条线在差异中被删除了。

确保您的 main构建并运行CreateHostBuilder功能。

不幸的是,这会导致上述相同的错误,但根本不直接相关。

public static void Main(string[] args)
{
    CreateHostBuilder(args).Build().Run();
}
...
public static IHostBuilder CreateHostBuilder(string[] args)
...
于 2020-10-21T14:04:33.240 回答