blazor - Blazor WASM 没有达到断点
问题描述
我有一个带有版本 5 程序集的 Blazor WASM 项目,并尝试根据这篇文章激活调试:https ://docs.microsoft.com/en-us/aspnet/core/blazor/debug?view=aspnetcore-3.1
为此,我确保更新了所有程序集引用并调整了启动设置。后者现在看起来像这样:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:62310",
"sslPort": 44325
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"ApplySupportTool.Client": {
"commandName": "Project",
"launchBrowser": true,
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
这些也是我在 WASM 项目中的参考资料:
<PackageReference Include="System.Net.Http.Json" Version="3.2.0-preview5.20210.3" />
<PackageReference Include="Microsoft.AspNetCore.Components.DataAnnotations.Validation" Version="3.2.0-preview2.20160.5" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="3.2.0-preview5.20216.8" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Build" Version="3.2.0-preview5.20216.8" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="3.2.0-preview5.20216.8" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Runtime" Version="3.2.0-preview5.20216.1" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="3.2.0-preview5.20216.8" />
为了测试,我从默认项目中复制了“计数器”页面。但是当我按 F5 来调试方法中的断点时,它IncrementCount
并没有变红。我在一个新创建的默认项目中进行了测试,它在那里工作,所以我认为 Visual Studio Preview、Edge 和 .net 核心有正确的版本。
我注意到的是开发控制台中的这个警告,它只出现在我现有的项目中,而不是新创建的默认项目中:
DevTools 无法加载 SourceMap:无法加载 chrome-extension://ndcileolkflehcjpmjnfbnaibdcgglog/include.preload.js.map 的内容:HTTP 错误:状态代码 404,net::ERR_UNKNOWN_URL_SCHEME
我还需要添加或调整其他内容才能使其正常工作吗?在上面的文章中,据我所知,我找不到任何东西。
解决方案
这是目前 Blazor 项目中的一个已知问题。调试器启动速度比项目程序集慢/快,并且没有时间“查看”程序集。这是我的解决方法,直到他们解决这个问题。我在 Program.cs 中添加了一个延迟,以便在项目以调试模式启动时,它使调试器有时间正确附加。我使用了 5000 毫秒,但如果你的机器比我的慢,你可能需要增加这个值。
public class Program
{
private static async Task DebugDelayAsync()
{
#if DEBUG
await Task.Delay(5000);
#endif
}
public static async Task Main(string[] args)
{
await DebugDelayAsync();
(...)
}
}
推荐阅读
- c++ - 从基本数据类型到用户定义类型的类型转换
- selenium - Chrome80 和 WDIO:Chrome 选项 --lang 在 ubuntu 上不起作用
- javascript - ReactJs mapStateToProps
- javascript - 为什么我的填充数组不能正常工作?
- reactjs - 窗口事件即使被删除也仍然存在
- php - 在 php 中的 if 语句中与赋值一起使用时通过或失败的返回类型的规则是什么?
- android - 自定义活动中的 Android Studio 操作栏
- google-apps-script - 为什么 Google 脚本对于每行的范围与列中的范围的运行方式不同
- java - 如何使用扫描仪将对象添加到数组列表?
- python-3.x - 一些数据没有在 Python Selenium 中被抓取,网络抓取?