Skip to main content
 首页 » 编程设计

c#之关于.net core应用的轻量级

2026年05月06日35grandyang

我刚刚完成了一个小应用程序,使用.NET Core来看看。

我正在发布时刻,发布目录中有 66 个文件!

我的应用程序本身是一个 47 Ko dll。好吧,我使用 efcore 和 newtonsoft json,但是我有 14 Mo 各种 dll(例如 System.Security.Cryptography.OpenSsl.dll)要部署。

相同的 .NET(非 Core)应用程序会轻得多。

我的问题是:我错过了什么,因为根据.NET Core Application Deployment :

The size of your deployment package is small. You only have to deploy your app and its dependencies, not .NET Core itself.

请您参考如下方法:

这是正确的,无需担心。与 .NET Framework 不同,.NET Core 是模块化的,并通过 NuGet 获取。因此不需要安装胖运行时。

.NET Core 中有两种主要类型的应用程序:

可移植应用程序

可移植应用程序需要安装运行时。所有不属于运行时的内容都将作为包提供。

或更具体地说:Microsoft.NETCore.App 中未包含的所有内容或NETStandard.Library (两者都是仅引用常见运行时库的元包)或其依赖项之一,将通过 nuget 下载并与您的应用程序打包在一起。

独立的应用程序

独立的应用程序允许您运行和部署 .NET Core 应用程序,而无需安装框架。在这种情况下,所有依赖项(包括运行时程序集)都将与您的应用程序一起打包。这允许多个应用程序使用不同版本的 .NET Core 并行运行,即不会影响程序功能的更新。

此外,您还具有 native 依赖项,​​这些依赖项依赖于 native 库(即 Linux 上的 OpenSSL 或 Windows 上的 CryptoAPI),这些库也将通过 nuget 提供并打包在您的部署中。