Azure / static-web-apps-cli

Azure Static Web Apps CLI ✨
https://aka.ms/swa/cli-local-development
MIT License
583 stars 110 forks source link

SWA CLI and Visual Studio debugger does not connect in Visual Studio 17.8.6 #801

Open gitasaurus opened 4 months ago

gitasaurus commented 4 months ago

Before filing this issue, please ensure you're using the latest CLI by running swa --version and comparing to the latest version on npm.

Are you accessing the CLI from the default port :4280 ?

Make sure you are accessing the URL printed in the console when running swa start!

ℹ️ NOTE: Make sure to enable debug logs when running any swa commands using --verbose=silly

Describe the bug A clear and concise description of what the bug is.

The swa cli and Visual Studio debugger no longer connect to the Blazor static web app under Visual Studio 17.8.6.

Under Visual Studio 17.8.5 the swa cli will correctly launch and attach to the browser (in my case Microsoft Edge), however under Visual Studio 17.8.6 the browser launches however the swa cli fails to connect with a 'Failed to launch debug adapter' error (see screenshot below).

Note: When running with --verbose=silly the last message is [swa] Connected to tcp:localhost:5000 successfully with no further debug messages.

To Reproduce Steps to reproduce the behavior:

  1. Clone the Blazor-Basic SWA from the Microsoft Quickstart: Build your first static web app instructions.
  2. Update the BlazorBasic\Properties\launchSettings.json file by adding "launchUrl": "http://localhost:4280" and changing applicationUrl to be "applicationUrl": "http://localhost:5000".

The full launchSettings.json should look like: { "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:42316", "sslPort": 44363 } }, "profiles": { "BlazorBasic": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "launchUrl": "http://localhost:4280", "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", "applicationUrl": "http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } }

  1. Start the swa cli with the command swa start http://localhost:5000.
  2. Launch the application in Visual Studio with debugging using the BlazorBasic profile.

Expected behavior A clear and concise description of what you expected to happen.

The swa cli and Visual Studio debugger should connect and launch the Blazor static web app correctly as it did with Visual Studio 17.8.5.

Screenshots If applicable, add screenshots to help explain your problem.

image

Desktop (please complete the following information):

Additional context Add any other context about the problem here.

gitasaurus commented 4 months ago

I confirmed this behavior is also present in Visual Studio 17.9.

gitasaurus commented 1 month ago

Just an update, this issue is still present in Visual Studio 17.9.7 when following the steps above.

However, the good news is that this problem does not happen when running the SWA CLI within docker (with a Windows 11 host).

I launch the docker container using the command:

docker run --rm -p 4280:4280 -it swacli/static-web-apps-cli:latest

and once it is started, I start SWA within the docker container using the command:

swa start http://host.docker.internal:5000 --api-location http://host.docker.internal:7071

Using this I was able to run Visual Studio 17.9.7, with the nuget packages fully updated in the solution.