dotnet / aspire

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

[release/8.2] Unable to find package Aspire.Dashboard.Sdk.rhel.8-x64 & Aspire.Hosting.Orchestration.rhel.8-x64 #5486

Closed moonolgerd closed 1 month ago

moonolgerd commented 2 months ago

Is there an existing issue for this?

Describe the bug

dotnet build fails to restore Nuget packages after running dotnet workload update & dotnet workload install aspire on RHEL 8.9

Expected Behavior

No response

Steps To Reproduce

dotnet workload update dotnet workload install aspire mkdir foo dotnet new aspire-apphost

Exceptions (if any)

The template ".NET Aspire App Host" was created successfully. This template contains technologies from parties other than Microsoft, see https://aka.ms/dotnet/aspire/8.0-third-party-notices for details.

Processing post-creation actions... Restoring /app/foo/foo.csproj: Determining projects to restore... /app/foo/foo.csproj : error NU1101: Unable to find package Aspire.Dashboard.Sdk.rhel.8-x64. No packages exist with this id in source(s): nuget.org /app/foo/foo.csproj : error NU1101: Unable to find package Aspire.Hosting.Orchestration.rhel.8-x64. No packages exist with this id in source(s): nuget.org Failed to restore /app/foo/foo.csproj (in 3.64 sec). Restore failed. Post action failed. Manual instructions: Run 'dotnet restore'

.NET Version info

dotnet --info .NET SDK: Version: 8.0.108 Commit: 665a05cea7 Workload version: 8.0.100-manifests.3df3d38d

Runtime Environment: OS Name: rhel OS Version: 8 OS Platform: Linux RID: rhel.8-x64 Base Path: /usr/lib64/dotnet/sdk/8.0.108/

.NET workloads installed: Workload version: 8.0.100-manifests.3df3d38d [aspire] Installation Source: SDK 8.0.100 Manifest Version: 8.2.0/8.0.100 Manifest Path: /home/acme/.dotnet/sdk-manifests/8.0.100/microsoft.net.sdk.aspire/8.2.0/WorkloadManifest.json Install Type: FileBased

Host: Version: 8.0.8 Architecture: x64 Commit: 08338fcaa5

.NET SDKs installed: 8.0.108 [/usr/lib64/dotnet/sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 8.0.8 [/usr/lib64/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 8.0.8 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]

Anything else?

Installed Workload Id Manifest Version Installation Source

aspire 8.2.0/8.0.100 SDK 8.0.100

Red Hat Enterprise Linux release 8.9 (Ootpa)

joperezr commented 2 months ago

Hello @moonolgerd, thank you for logging this issue. This is a bug on the new way that we use to dynamically add a reference to the dashboard package within our SDK, and will repro in rhel systems. We will get this fix in our next servicing, but in the meantime, here is some code you can add to your AppHost project to workaround the issue:

<PropertyGroup>
  <SkipAddAspireDefaultReferences>true</SkipAddAspireDefaultReferences>
</PropertyGroup>

<ItemGroup>
  <PackageReference Include="Aspire.Dashboard.Sdk.linux-x64" Version="8.2.0" />
  <PackageReference Include="Aspire.Hosting.Orchestration.linux-x64" Version="8.2.0" />
</ItemGroup>
caleblloyd commented 2 months ago

Same problem on Ubuntu 24.04, if anyone is searching for the error:

 error NU1101: Unable to find package Aspire.Dashboard.Sdk.ubuntu.24.04-x64. No packages exist with this id in source(s): nuget.org
 error NU1101: Unable to find package Aspire.Hosting.Orchestration.ubuntu.24.04-x64. No packages exist with this id in source(s): nuget.org

I tried the suggested workaround but starting the app host throws:

Unhandled exception. System.AggregateException: One or more errors occurred. (Property CliPath: The path to the DCP executable used for Aspire orchestration is required.; Property DashboardPath: The path to the Aspire Dashboard binaries is missing.)

Fixed the CliPath error by upgrading SDK to 8.0.401, the one in Ubuntu 24.04 sources was 8.0.100, and Microsoft APT feed for 24.04 doesn't have Dotnet SDK yet so had to manually install the newer version

moonolgerd commented 2 months ago

@joperezr Thank you for the workaround!

caleblloyd commented 2 months ago

@moonolgerd does this need to stay open so that the issue can be tracked? The workaround does solve the issue but there is no linked fix

moonolgerd commented 2 months ago

Reopened

joperezr commented 2 months ago

Yup, thanks for reopening. I'll push a fix for this this week.

atrauzzi commented 2 months ago

Experiencing the same on Fedora 40. One-line fix above seems to be working in the interim!

Looking forward to update. /subscribed :smile:

Update: This might help some people, but I had to switch to using the Microsoft maintained packages as my Fedora repos weren't giving me version 8.0.401. In order to make this work, I had to basically filter out all .NET packages from my Fedora update repos with this: excludepkgs=dotnet*,aspnet*,netstandard*

I aired on the side of caution and put one copy of this at the bottom of each of the sections ([updates], [updates-debuginfo], [updates-source]).

I used these instructions to manually set up the Microsoft source.

sergey-tihon commented 1 month ago

What about *.linux-musl-x64 packages? They are not available on NuGet at all.

error NU1101: Unable to find package Aspire.Dashboard.Sdk.linux-musl-x64. No packages exist with this id in source(s): nuget.org
error NU1101: Unable to find package Aspire.Hosting.Orchestration.linux-musl-x64. No packages exist with this id in source(s): nuget.org
joperezr commented 1 month ago

Same workaround provided here should work for the musl case. I'm working on a fix that will ship in 8.2.1 so that we can remove this manual workaround.