adamhathcock / sharpcompress

SharpCompress is a fully managed C# library to deal with many compression types and formats.
MIT License
2.22k stars 476 forks source link

.NET Native building failed #793

Open wherewhere opened 6 months ago

wherewhere commented 6 months ago

Build succeed with 0.33.0, but failed with 0.35.0. https://github.com/Paving-Base/APK-Installer-UWP/commit/0ac335f9a4834db8976cb12c41e7d1f6218d29f6

1>C:\Users\qq251\.nuget\packages\microsoft.net.native.compiler\2.2.12-rel-31116-00\tools\Microsoft.NetNative.targets(809,5): error : RHBIND : error RHB0011: 内部错误:“declModule == m_pLoaderModule”(在“f:\dd\ndp\rh\src\tools\rhbind\methodtable.h:609”上)
1>C:\Users\qq251\.nuget\packages\microsoft.net.native.compiler\2.2.12-rel-31116-00\tools\Microsoft.NetNative.targets(809,5): error : ILT0005: “C:\Users\qq251\.nuget\packages\runtime.win10-x86.microsoft.net.native.compiler\2.2.12-rel-31116-00\tools\x86\ilc\Tools\rhbind.exe @"C:\Users\qq251\Downloads\Github\APK-Installer-UWP\APKInstaller\APKInstaller\obj\x86\Release\ilc\intermediate\rhbindargs.APKInstaller.rsp"”已返回退出代码 11
Erior commented 6 months ago

As far as I know that is a tool chain error, I checked out the project, sharpcompress indicated 0.35 and it built just fine for me. VS 17.8.3 if that helps.

zhuxb711 commented 5 months ago

The last available one is 0.33.0, ZstdSharp.Port introduced from 0.34.0 will break the .Net Native

adamhathcock commented 5 months ago

Do you know what causes it?

We could move the code to be internal to library

schouffy commented 2 months ago

I have the same issue, I can confirm 0.33 is the latest version that builds on .net native toolchain (which is required for MS Store :( ). That's for UWP at least.

adamhathcock commented 2 months ago

I'm gonna need some kind of error message or stacktrace.

It's probably the ZstdSharp dependency and I'm loathed to embed it.

schouffy commented 2 months ago

I'll send you the .net native compilation verbose log tonight. But it won't be super helpful I think, the only relevant information (as far as I can tell) is the error message sent by OP.

adamhathcock commented 2 months ago

well, it's probably the dependency then. I don't know anything about .net native to make it worthwhile to get the whole log if you say there's nothing useful

oleg-st commented 2 months ago

Added a workaround for .NET Native in ZstdSharp 0.8.0

adamhathcock commented 2 months ago

https://github.com/adamhathcock/sharpcompress/commit/49ce17b7598466e7bb56200461dfbfe91c175f52

I've updated ZstdSharp and made NET8 only trimmable

zhuxb711 commented 2 months ago

https://github.com/adamhathcock/sharpcompress/commit/49ce17b7598466e7bb56200461dfbfe91c175f52

I've updated ZstdSharp and made NET8 only trimmable

Should use contains? More target framework belongs to .net8.0, such as .net8.0-windows / .net8.0-windows10.0.19041.0

adamhathcock commented 2 months ago

49ce17b I've updated ZstdSharp and made NET8 only trimmable

Should use contains? More target framework belongs to .net8.0, such as .net8.0-windows / .net8.0-windows10.0.19041.0

the more specific targets still output their base framework: https://github.com/dotnet/designs/blob/main/accepted/2020/net5/net5.md#mapping-to-properties

schouffy commented 2 months ago

You guys rock!

schouffy commented 3 weeks ago

I have updated to 0.37.2 and I can confirme that it now builds fine using the .net native toolchain. Thanks!