Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prerequisite for compiler install says .NET 8 but fails expecting framework 6.0 #1037

Closed
quanglewangle opened this issue Jan 31, 2024 · 2 comments · Fixed by #1038
Closed

Comments

@quanglewangle
Copy link
Collaborator

See errors below. Have installed .NET 8

dotnet tool install --global ghul.compiler --version 0.6.13
You must install or update .NET to run this application.

App: /usr/share/dotnet/sdk/6.0.418/dotnet.dll
Architecture: x64
Framework: 'Microsoft.NETCore.App', version '6.0.26' (x64)
.NET location: /usr/share/dotnet/

The following frameworks were found:
5.0.17 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]
8.0.1 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Learn more:
https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:
https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=6.0.26&arch=x64&rid=linux-x64&os=ubuntu.22.04

@degory
Copy link
Owner

degory commented Feb 1, 2024

The compiler itself definitely depends on .NET 8 (it needs runtime version 8 to execute, and SDK version 8 to support the build process). It works as expected on systems that have only .NET 8 SDK installed - that's how my local dev environments and the CD environment is configured and so that configuration is thoroughly tested.

However, one of the compiler dependencies ghūl pipes still references .NET 6. It's possible this is causing the problem.

I'll update ghūl pipes to .NET 8 and update the compiler to reference the updated version. Note though that .NET 5 is no longer supported by Microsoft, so you might have other issues with the combination of .NET 5 and .NET 8 SDKs installed on the same box.

degory added a commit that referenced this issue Feb 1, 2024
Bugs fixed:
- Update runtime and pipes dependencies to latest versions, removing a possible transitive dependency on .NET 6 (closes #1037)

Technical:
- Some minor code clean-ups
degory added a commit that referenced this issue Feb 1, 2024
Bugs fixed:
- Bump runtime and pipes dependencies to latest versions, removing a possible transitive dependency on .NET 6 (closes #1037)

Technical:
- Bump ghul-test to latest version
- Some minor code clean-ups
@degory
Copy link
Owner

degory commented Feb 1, 2024

I've bumped the ghūl runtime and ghūl pipes projects to depend on .NET 8 runtime from .NET 6, and updated the ghūl compiler to reference the updated packages.

I've done some digging, and a .NET project doesn't inherit older framework requirements from its dependencies. The runtime follows the project's specified .NET version, loading dependencies even if they target older framework versions, on the assumption they will be forward compatible. It's not clear if the .NET tool installer follows this correctly however.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants