C# Can';在program.main Blazor客户端wasm中未命中断点
创建一个基本Blazor应用程序,我正在尝试调试我的应用程序的main/start方法。 主要是检查我注入的对象,主要是从appsettings.json获取配置 我还在lauchtings.json中添加了用于浏览器调试的json设置,但没有成功C# Can';在program.main Blazor客户端wasm中未命中断点,c#,settings,blazor,main,start-process,C#,Settings,Blazor,Main,Start Process,创建一个基本Blazor应用程序,我正在尝试调试我的应用程序的main/start方法。 主要是检查我注入的对象,主要是从appsettings.json获取配置 我还在lauchtings.json中添加了用于浏览器调试的json设置,但没有成功 "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}&
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
我已经在google上查过了,但是没有多少关于程序.Main()断点的解决方案。
有什么建议吗
公共类程序
{
公共静态异步任务主(字符串[]args)
{
var builder=WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add(“#app”);
AddTransient(sp=>newHttpClient{BaseAddress=newURI(“https://localhost:5001/") });
builder.Services.addScope();
builder.Services.addScope();
builder.Services.AddTelerikBlazor();
等待builder.Build().RunAsync();
}
}
好的,这很难看,但您可能只希望它是一次性的,所以请稍等几秒钟-对于我的桌面,2秒钟就足够了-这给了调试器附加的时间。一旦你发现了对你有效的延迟,它就会起作用
注意,我无法使调试器.IsAttached
或Debugger.Break()
工作,因此必须在编辑器中设置断点
将延迟包装在#if DEBUG…#endif
中,以确保您不会在适当的位置释放延迟
公共类程序
{
公共静态异步任务主(字符串[]args)
{
#如果调试
等待任务。延迟(2000);
#恩迪夫
var builder=WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add(“#app”);
AddTransient(sp=>newHttpClient{BaseAddress=newURI(“https://localhost:5001/") });
builder.Services.addScope();
builder.Services.addScope();
builder.Services.AddTelerikBlazor();
等待builder.Build().RunAsync();
}
}
我以前确实试过,但没有成功。现在又做了一次,它确实起作用了。谢谢
public class Program
{
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.Services.AddTransient(sp => new HttpClient { BaseAddress = new Uri("https://localhost:5001/") });
builder.Services.AddScoped<DashboardDataService>();
builder.Services.AddScoped<TrTradingSignalBotApiService>();
builder.Services.AddTelerikBlazor();
await builder.Build().RunAsync();
}
}