为什么 Grpc.Core NuGet 包这么大?

2024-01-08

最新的 Grpc.Core NuGet 包有 150 MB 之大。它似乎在其一生中稳步增长。这里有一些例子:

  • v1.17.1(2018 年 12 月)48.34 MB
  • v2.23.1(2019 年 8 月)68.11 MB
  • v2.30.0(2020 年 6 月)150.28 MB

也许这不是同类,但随机选择一个示例,Entity Framework Core 包为 859 KB。

我很好奇这个包裹里到底装了什么东西,让它变得这么大。对于创建简单 C# 服务的人来说,是否有一些东西并不是完全必要的?


包含库和构建脚本的包的核心功能总计不到 2 MB。包如此之大的原因是它包含以下运行时文件Linux, Windows and Mac OSX,以及本机库iOS and Android。让我们看看包内容的详细信息,但只查看前两三个目录级别。

  • build [8 KB]
    • 单一Android10
    • net45
    • Xamarin.iOS10
  • lib [1.9 MB]
    • net45
    • 网络标准1.5
    • 网络标准2.0
  • runtimes [137.5 MB]
    • linux [113.4 MB]
    • 获胜 [12.4 MB]
    • 操作系统 [11.7 MB]
  • native [424.6 MB]
    • android [164.3 MB]
      • x86 [56.3 MB]
      • arm64-v8a [54.3 MB]
      • armeabi-v7a [53.7 MB]
    • ios [260.3 MB]

您可能想知道为什么移动运行时比移动运行时大得多Windows or MacOS。事实证明,对于Android有针对三种不同架构的本机库,每种架构大约 50 MBiOS不仅有一个*_csharp_ext图书馆,而是一个整体libgrpc仅库就有 260 MB。为了Linux有两个用于 x86 和 x64 的库,分别为 44.8 MB 和 68.6 MB。但是,我不知道为什么上述库的大小比其对应库大得多Windows or MacOS.

该包可能涵盖的内容可能比您在项目中实际需要的多得多,并且您可能希望使用更适合您的场景的语言特定包,如Grpc 存储库 https://github.com/grpc/grpc.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Grpc.Core NuGet 包这么大? 的相关文章

随机推荐