dotnet / dotnet/sdk

In Debian ARM64, `dotnet test` does not work

Open
#43,790 4 comments 1 reaction 0 assignees View on GitHub
Area-dotnet test Area-dotnet test (VSTest) untriaged
Dominant language
C#
Stars
3.2k
Forks
1.3k
PR merge metrics
PR metrics pending

Description

### Describe the bug

In Debian ARM64, executing `dotnet test` on any project will report an error: `Could not find 'dotnet' host for the 'ARM64' architecture.`

### To Reproduce

Build an arbitrary test major in Debian ARM64 and try running it.

```bash
> dotnet new nunit
> dotnet restore
> dotnet test
Determining projects to restore...
All projects are up-to-date for restore.
te4 -> /root/repos/te4/bin/Debug/net7.0/te4.dll
Test run for /root/repos/te4/bin/Debug/net7.0/te4.dll (.NETCoreApp,Version=v7.0)
Microsoft (R) Test Execution Command Line Tool Version 17.7.2 (arm64)
Copyright (c) Microsoft Corporation. All rights reserved.

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
Could not find 'dotnet' host for the 'ARM64' architecture.

You can resolve the problem by installing the 'ARM64' .NET.

The specified framework can be found at:
- https://aka.ms/dotnet-download

Test Run Aborted.
```

### Further technical details

I tested dotnet 8 and dotnet 7, and they all have this problem.

```plain
.NET SDK:
Version: 7.0.410
Commit: 8b4848c3b2

Runtime Environment:
OS Name: debian
OS Version:
OS Platform: Linux
RID: debian-arm64
Base Path: /root/.dotnet/sdk/7.0.410/

Host:
Version: 7.0.20
Architecture: arm64
Commit: 0fb6ac59fb

.NET SDKs installed:
7.0.410 [/root/.dotnet/sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 7.0.20 [/root/.dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 7.0.20 [/root/.dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
None
Environment variables: DOTNET_ROOT [/root/.dotnet] global.json file: Not found
```

```plain
.NET SDK:
Version: 8.0.402
Commit: 70aa751718
Workload version: 8.0.400-manifests.b6724b7a
MSBuild version: 17.11.4+37eb419ad

Runtime Environment:
OS Name: debian
OS Version:
OS Platform: Linux
RID: linux-arm64
Base Path: /root/.dotnet/sdk/8.0.402/

.NET workloads installed:
Configured to use loose manifests when installing new manifests.
There are no installed workloads to display.

Host:
Version: 8.0.8
Architecture: arm64 Commit: 08338fcaa5 .NET SDKs installed: 8.0.402 [/root/.dotnet/sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 8.0.8 [/root/.dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.8 [/root/.dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None

Environment variables:
DOTNET_ROOT [/root/.dotnet]

global.json file: Not found
```

`uname -a`:

```plain
Linux localhost 5.4.210-qgki-ga5e066e94074 #1 SMP PREEMPT Fri Aug 25 18:36:19 JST 2023 aarch64 GNU/Linux
```

`cat /etc/os-release`:

```plain
PRETTY_NAME="Debian GNU/Linux trixie/sid"
NAME="Debian GNU/Linux"
VERSION_CODENAME=trixie
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
```

By the way, I used `dotnet-install.sh` to install dotnet.

```bash
# install dotnet 8
> ./dotnet-install.sh
# install dotnet 7
> ./dotnet-install.sh -c STS
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.