调试blazor web程序集项目时遇到问题。
设置:
- WASM Blazor UI项目
- 引用WASM项目的Web API项目
- 它们共享同一个端口
- 我只启动Web API项目,还可以访问blazor网站。(这对我来说很奇怪(
我的WebApi项目中有这两行。
app.UseWebAssemblyDebugging();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapControllers();
endpoints.MapFallbackToFile("index.html");
});
启动设置Web API:
"API": {
"commandName": "Project",
"dotnetRunMessages": "true",
"launchBrowser": true,
"launchUrl": "",
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
启动设置Blazor WASM:
"Lab.Web": {
"commandName": "Project",
"dotnetRunMessages": "true",
"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"
}
}
当我试图在Blazor项目中的某个地方设置断点时。我收到这个消息:
"当前不会命中断点。尚未为此文档加载任何符号">
如果我单独运行Blazor项目,我不会收到这个消息,但我无法访问我的Web API。
在调试WASM项目的同时,为Web API和Blazor WASM共享同一端口的正确方法是什么??
ps:如果这有帮助的话,我正在使用VS Studio 16.9.3。
非常感谢你的帮助!
我假设:
- 您在AspNetCore而不是IIS中运行该项目
- 您将API服务器项目作为启动项目
- 您处于调试模式
- 您的设置类似于ASPNetCore模板上承载的Web程序集
您唯一需要inspectUri
的地方是在LaunchSettings.json中。json在API项目中,这是您没有它的地方。
当在调试模式下启动时,它可能很难启动,所以给它时间。