一个如何调试剃刀页面中的嵌入式代码?

时间:2019-12-19 14:31:56

标签: debugging asp.net-core razor-pages blazor webassembly

我正在用asp.net托管查看Blazor客户端。因此,我正在遍历模板项目,Visual Studio Preview似乎不支持剃刀页面中的断点,更具体地说,是代码块:

@code {
   private WeatherForecast[] forecasts;

   protected override async Task OnInitializedAsync()
   {
       forecasts = await Http.GetJsonAsync<WeatherForecast[]>("WeatherForecast"); //breakpoint here
   }

}

是否有解决方法,或者我可能缺少什么? 谢谢!

1 个答案:

答案 0 :(得分:2)

Blazor Webassembly调试当前仅在使用Chrome浏览器调试代理时可用。这些步骤在Blazor docs中进行了描述:

  
      
  1. 在“调试”配置中运行Blazor WebAssembly应用程序。
  2.   
  3. --configuration Debug选项传递给dotnet运行命令:dotnet run --configuration Debug
  4.   
  5. 在浏览器中访问该应用。
  6.   
  7. 将键盘焦点放在应用程序上,而不是开发人员工具面板上。启动调试时,可以关闭开发人员工具面板。
  8.   
  9. 选择以下特定于Blazor的键盘快捷键:      
        Windows / Linux上的
    • Shift+Alt+D
    •   
    • Shift+Cmd+D在macOS上
    •   
  10.   
  11. 按照屏幕上列出的步骤在启用了远程调试的情况下重新启动浏览器。
  12.   
  13. 再次选择以下Blazor特定于键盘的快捷键以启动调试会话:      
        Windows / Linux上的
    • Shift+Alt+D
    •   
    • Shift+Cmd+D在macOS上
    •   
  14.   

“在Visual Studio中命中F5”调试经验尚未准备就绪。 Daniel Roth在.NET community standup video中对此进行了一些演示。基本上,Visual Studio可以附加到浏览器的调试代理。当前,在预览版本中,您必须手动执行一系列步骤,而将来,这些步骤应由Visual Studio简化并完成。