dotnet / aspire

Tools, templates, and packages to accelerate building observable, production-ready apps
https://learn.microsoft.com/dotnet/aspire
MIT License
3.82k stars 453 forks source link

Can't access all my endpoints from the dashboard #5541

Closed webreidi closed 3 weeks ago

webreidi commented 1 month ago

Is there an existing issue for this?

Describe the bug

I have an Aspire app that has an API with 2 endpoints. I expect to be able to click on them both from the dashboard, and see a +1 next to the first one, but when I click on the +1, my weatherforecast endpoint is not listed.

Image

Expected Behavior

When I click the +1, I would see a link to my weatherforecast endpoint.

Steps To Reproduce

  1. Create a .NET starter application.
  2. Add a second endpoint to the API project
  3. Run the application

Exceptions (if any)

No response

.NET Version info

.NET SDK: Version: 9.0.100-preview.7.24407.12 Commit: d672b8a045 Workload version: 9.0.100-manifests.2aef0cee MSBuild version: 17.12.0-preview-24374-02+48e81c6f1

Runtime Environment: OS Name: Windows OS Version: 10.0.22635 OS Platform: Windows RID: win-x64 Base Path: C:\Program Files\dotnet\sdk\9.0.100-preview.7.24407.12\

.NET workloads installed: Configured to use loose manifests when installing new manifests. [android] Installation Source: SDK 9.0.100-preview.7, VS 17.12.35209.166 Manifest Version: 35.0.0-preview.7.41/9.0.100-preview.7 Manifest Path: C:\Program Files\dotnet\sdk-manifests\9.0.100-preview.7\microsoft.net.sdk.android\35.0.0-preview.7.41\WorkloadManifest.json Install Type: Msi

[aspire] Installation Source: SDK 9.0.100-preview.7, VS 17.12.35209.166 Manifest Version: 8.2.0/8.0.100 Manifest Path: C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.aspire\8.2.0\WorkloadManifest.json
Install Type: FileBased

[ios] Installation Source: SDK 9.0.100-preview.7, VS 17.12.35209.166 Manifest Version: 17.5.9231-net9-p7/9.0.100-preview.7 Manifest Path: C:\Program Files\dotnet\sdk-manifests\9.0.100-preview.7\microsoft.net.sdk.ios\17.5.9231-net9-p7\WorkloadManifest.json Install Type: Msi

[maccatalyst] Installation Source: SDK 9.0.100-preview.7, VS 17.12.35209.166 Manifest Version: 17.5.9231-net9-p7/9.0.100-preview.7 Manifest Path: C:\Program Files\dotnet\sdk-manifests\9.0.100-preview.7\microsoft.net.sdk.maccatalyst\17.5.9231-net9-p7\WorkloadManifest.json Install Type: Msi

[maui-windows] Installation Source: SDK 9.0.100-preview.7, VS 17.12.35209.166 Manifest Version: 9.0.0-preview.7.24407.4/9.0.100-preview.7 Manifest Path: C:\Program Files\dotnet\sdk-manifests\9.0.100-preview.7\microsoft.net.sdk.maui\9.0.0-preview.7.24407.4\WorkloadManifest.json Install Type: Msi

Host: Version: 9.0.0-preview.7.24405.7 Architecture: x64 Commit: static

.NET SDKs installed: 7.0.410 [C:\Program Files\dotnet\sdk] 8.0.304 [C:\Program Files\dotnet\sdk] 8.0.400 [C:\Program Files\dotnet\sdk] 9.0.100-preview.7.24407.12 [C:\Program Files\dotnet\sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 8.0.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 9.0.0-preview.7.24406.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 8.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 9.0.0-preview.7.24405.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 8.0.7 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 9.0.0-preview.7.24405.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found: x86 [C:\Program Files (x86)\dotnet] registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables: Not set

global.json file: Not found

Learn more: https://aka.ms/dotnet/info

Download .NET: https://aka.ms/dotnet/download

Anything else?

Same in both VS and VS Code with C# Dev Kit.

davidfowl commented 1 month ago

Endpoints defined in your application don't show up on the dashboard. The urls displayed are based on what is in launch settings (a combination of the applicationUrl and the launchUrl

maddymontaquila commented 1 month ago

We definitely need to improve docs on this - it's kind of confusing that we call it an endpoint but it's not like. Your app endpoints. It's just the endpoint aspire creates. Very good catch

webreidi commented 1 month ago

I have four listed in my launchsettings.json, but only 2 appear.

davidfowl commented 1 month ago

Can you share your launch settings? We may have just fixed this.

webreidi commented 1 month ago

https://github.com/webreidi/codel-cloud-native/blob/main/Codel-Cloud-Native.ApiService/Properties/launchSettings.json

davidfowl commented 1 month ago

This project has 4 launch profiles and the names are duplicated, so there are really 2, http and https. A single launch profile is selected when you run in aspire, and the endpoints reflect that. When you run in visual studio, the IDE specifies the launch profile via an env variable that the apphost reads and uses to determine which profile to use (the playy button in the IDE selects the profile).

{
"https": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "launchUrl": "weatherforecast",
      "applicationUrl": "https://localhost:7310;http://localhost:5558",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
}

When https is selected, there are 2 URLs (https://localhost:7310;http://localhost:5558) and the lauchUrl is "weatherforecast". This is what the dashboard will show. We don't aggregate all of the launch profiles in the launch settings file to produce those endpoints.

dotnet-policy-service[bot] commented 1 month ago

This submission has been automatically marked as stale because it has been marked as requiring author action but has not had any activity for 14 days. It will be closed if no further activity occurs within 7 days of this comment.