dotnet test fails to load app-local ICU on linux
- Dominant language
- C#
- Stars
- 3.2k
- Forks
- 1.3k
- PR merge metrics
- PR metrics pending
Description
### Describe the bug
A project I am currently developing needs to be cross-platform and have localization support. Therefore I have opted to install the **Microsoft.ICU.ICU4C.Runtime** package version 72.1.0.3
Some tests regarding localization do need to use this app-local icu as well and on windows everything is working fine.
Our ci pipeline however is running on Debian 11 (amd64) and when trying to run `dotnet test -c Release MyProjectTests.csproj` it fails with the exception below.
This is logical, as the files in **bin/Release/net8.0/runtimes/linux-x64/native/** include the whole version number, so **libicudata.so.72.1.0.3** and if i rename the files to ***.so.72.1** everything works just fine.
The question remains, however, why the testplatform is looking for 72.1 and not the nuget-version number?
### To Reproduce
[Repo to reproduce](https://github.com/bernhard-R/dotnettesticubug)
### Exceptions (if any)
Testhost process for source(s) 'MyProjectTests.csproj/bin/Debug/net8.0/Seamtec.Control.Cloud.Tests.dll' exited with error: Process terminated. Failed to load app-local ICU: libicudata.so.72.1
at System.Environment.FailFast(System.String)
at System.Globalization.GlobalizationMode.LoadLibrary(System.String, Boolean)
at System.Globalization.GlobalizationMode.LoadAppLocalIcuCore(System.ReadOnlySpan`1, System.ReadOnlySpan`1)
at System.Globalization.GlobalizationMode.LoadAppLocalIcu(System.String)
at System.Globalization.GlobalizationMode+Settings..cctor()
at System.Globalization.CultureData.CreateCultureWithInvariantData()
at System.Globalization.CultureData.get_Invariant()
at System.Globalization.TextInfo..cctor()
at System.Diagnostics.Tracing.EventSource.GetGuid(System.Type)
at System.Diagnostics.Tracing.EventSource..ctor(System.Diagnostics.Tracing.EventSourceSettings, System.String[])
at Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing.TestPlatformEventSource..ctor()
at Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing.TestPlatformEventSource..cctor()
at Microsoft.VisualStudio.TestPlatform.CoreUtilities.Tracing.TestPlatformEventSource.get_Instance()
at Microsoft.VisualStudio.TestPlatform.TestHost.Program.Main(System.String[])
. Please check the diagnostic logs for more information.
Test Run Aborted.
### Further technical details
`dotnet --info`
.NET SDK:
Version: 8.0.300
Commit: 326f6e68b2
Workload version: 8.0.300-manifests.c1c70047
MSBuild version: 17.10.4+10fbfbf2e
Runtime Environment:
OS Name: debian
OS Version: 11
OS Platform: Linux
RID: linux-x64
Base Path: /usr/share/dotnet/sdk/8.0.300/
.NET workloads installed:
There are no installed workloads to display.
Host:
Version: 8.0.5
Architecture: x64
Commit: 087e15321b
.NET SDKs installed:
6.0.422 [/usr/share/dotnet/sdk]
8.0.300 [/usr/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.30 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.30 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
Not set
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
os information:
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.