Enable static linking of libgit2 (NativeLibrary / DirectPInvoke) for NativeAOT builds
還沒有人認領這個 Issue。
評估
- 難度
- 5/5
- 預估耗時
- 一週以上
- 新手友好度
- 35/100
- Issue 類型
- 功能
- 描述清晰度
- 基本清楚
- 活躍度
- 冷清
- 技術堆疊
- csharp, git
- 領域
- build-system, tooling
研究方向
從 dotnet publish -p:PublishAot=true 情境以及連結的 Microsoft Docs Native AOT 互通參考開始。確定 LibGit2Sharp 如何公開 NativeLibrary/DirectPInvoke 中繼資料,並將其封裝以用於靜態 libgit2 連結。完成的標準是,NativeAOT publish 產生一個可執行檔,而不需要獨立的 libgit2 DLL、.so 或 .dylib。
由索引模型根據 Issue 內容生成。
描述
Overview
Publishing with dotnet publish -p:PublishAot=true (NativeAOT) currently leaves the libgit2 native DLL/so/dylib in the output folder, preventing a true single-file distribution. If LibGit2Sharp exposed NativeLibrary / DirectPInvoke metadata to let the linker embed a static libgit2, NativeAOT users could ship just one executable.
Problems
- NativeAOT disables the single-file bundler, so
IncludeNativeLibrariesForSelfExtractis ignored and the native library is always emitted next to the .exe. - Distributors must ship extra files, and there is no self-extract logic at runtime.
Request
Please add official support for statically linking libgit2 when LibGit2Sharp is used with NativeAOT (for example, by publishing a package that injects the required NativeLibrary metadata).
Reference
- Microsoft Docs — “Native AOT interop”
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/interop
- 主要語言
- C#
- 星號
- 3.5k
- 分支
- 925
- PR 合併指標
- 30 天內沒有已合併 PR
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
libgit2/libgit2sharp 的其他 Issue
-
難度 4/5 3-5 天 新手友好度 52/100
libgit2/libgit2sharp#2193 · 2 則留言 ·
-
難度 4/5 3-5 天 新手友好度 38/100
libgit2/libgit2sharp#2192 · 1 則留言 ·
-
Website is down 未關閉
難度 4/5 3-5 天 新手友好度 20/100
libgit2/libgit2sharp#2191 · 2 個 reaction ·
-
難度 3/5 1-2 天 新手友好度 68/100
libgit2/libgit2sharp#2189 · 1 個 reaction ·
-
難度 3/5 1-2 天 新手友好度 35/100
libgit2/libgit2sharp#2187 · 2 則留言 ·
查看 libgit2/libgit2sharp 的全部 Issue
相似的 Issue
-
bug
難度 2/5 1-3 小時 新手友好度 75/100
nightscout/nocturne#1425 ·
-
難度 2/5 1-3 小時 新手友好度 70/100
RayWangQvQ/BiliBiliToolPro#1137 ·
-
難度 2/5 1-3 小時 新手友好度 65/100
-
難度 2/5 1-3 小時 新手友好度 75/100
-
難度 2/5 1-3 小時 新手友好度 70/100