Description
The TargetOS I added is based on linux-musl and adds a macro definition.
The submission record is as follows:
OpenHarmony-NET@435caa7
clr.aot can be compiled successfully.
But when compiling BCL, I get the following error:
/runtime/src/libraries/shims/System/src/System.cs(6,88): error CS0234: The type or namespace name 'ZLibException' does not exist in the namespace 'System.IO.Compression' (are you missing an assembly reference?) [/runtime/src/libraries/shims/System/src/System.csproj]
/runtime/src/libraries/shims/System/src/System.cs(7,77): error CS0234: The type or namespace name 'CookieVariant' does not exist in the namespace 'System.Net' (are you missing an assembly reference?) [/runtime/src/libraries/shims/System/src/System.csproj]
/runtime/src/libraries/shims/System/src/System.cs(8,77): error CS0234: The type or namespace name 'PathList' does not exist in the namespace 'System.Net' (are you missing an assembly reference?) [/runtime/src/libraries/shims/System/src/System.csproj]
mscorlib -> /runtime/artifacts/bin/mscorlib/Release/net9.0-openharmony/mscorlib.dll
After investigation, it is found that some cs codes of some libraries are not compiled
https://github.com/OpenHarmony-NET/runtime/blob/435caa71f6ea4ee5e7d13c9611d32730a4d4dcfa/src/libraries/System.IO.Compression/src/System.IO.Compression.csproj#L3-L51
The value of TargetFramework here is .net9.0, which causes the value of TargetPlatformIdentifier to be '', which in turn causes some of the following cs files to not be compiled
But if you compile linux-musl, the value of TargetFramework here is .net9.0-unix
What affects TargetFramework? I didn't find a script to concatenate the ".net9,0-unix" string.