Skip to content

When I added a TargetOS type to the build script, some BCL libraries failed to compile #117327

Open
@CeSun

Description

@CeSun

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions