占地面积最小的ASP.NET Core 3.0 Web Api

时间:2019-09-23 11:43:53

标签: asp.net-core .net-core .net-core-3.0 asp.net-core-3.0

我想创建一个ASP.NET Core 3.0 Web Api,它在发布大小和RAM消耗方面的足迹最小。 CPU消耗似乎不是什么大问题,在我的用例中,调用次数非常少。

为进行测试,我尝试使用 ASP.NET Core Empty 模板。然后,我应用了标记

<PublishTrimmed>true</PublishTrimmed>
<PublishSingleFile>true</PublishSingleFile>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>

这使我获得了一个约46 MB的可执行文件,而当我从cmd运行该可执行文件时,我发现了一个消耗约19 MB的新进程。

我的问题:

在ASP.NET 2.X中,有一个元软件包AspNetCore.App,其中包含通常需要的所有内容。但是对于我的嵌入式系统,通常有点粗糙。现在在3.0中,我既看不到.csproj中列出的meta包,也看不到任何单独的包。仍然有一种方法可以准确地控制哪些包被引用,哪些未被引用?

考虑到PublishTrimmed选项:关心所有包都被引用还是有意义的东西被剥夺了?

更新

更清楚地说,嵌入式系统将运行基于Yocto的Linux发行版,一些基于C的代码与基础测量硬件进行通信,而ASP.NET Web Api与外界进行通信,仅此而已!一旦发布了LTS版本的ASP.NET Core,我们的系统可能会交付给客户并运行5-10年,而无需进行任何更新(至少在不需要关键安全修复程序的情况下)。通常,该设备只能在局域网中访问。

0 个答案:

没有答案