Microsoft.AspNetCore.All元包的优缺点
Pros and cons of Microsoft.AspNetCore.All metapackage
在 ASP.NET Core 2.0
中,不需要在 .csproj
文件中包含个人 package references
。 Microsoft.AspNetCore.All
元包包含所有必需的包。我们可以将此元数据包包含在 .csproj
文件中,如下所示:
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
这个元包在 .Net Core 应用程序中的主要优缺点是什么? (也考虑跨平台自包含应用程序)
当您针对 .NET Core 2.0 创建 ASP.NET Core 2.0 应用程序 运行ning 时,您应该使用 Microsoft.AspNetCore.All
(对于 ASP.NET Core 2.1 及更高版本,[=推荐 11=] - 从 ASP.NET Core 3.0 Microsoft.AspNetCore.All
将被删除)因为这是推荐的方法并且有助于避免一长串的依赖项。
发布(自包含)应用程序时,将应用摇树优化,这意味着:构建过程将找出元数据包中的哪些数据包将被使用,并将它们从发布的文件夹中剥离以保持大小小的。
使用它的另一个原因是 .NET Core Runtime Store。 Microsoft.AspNetCore.All
包是 运行 时间存储的一部分,因此不需要发布(如上所述),但更重要的是,它是预编译的,因此启动时间也有所缩短。
但是
- 当面向 .NET Framework >= 4.6.1 时,您不能使用
Microsoft.AspNetCore.All
(或 Microsoft.AspNetCore.App
),因为它分别需要 netcoreapp2.0
和 netcoreapp2.1
- 您不能也不应该在便携式 Class 库 (PCL) 中使用它,因为它需要
netcoreapp2.0
而 PCL 应该以 netstandard2.0
为目标。有一些例外,例如,如果你依赖一个(ASP.NET Core)包,它在 .NET Core 上只有 运行s(或者你只需要 .NET Core 的 API),因为 PCL 的目标 netcoreappx.y
不能 运行 在 .NET Framework 上
在 ASP.NET Core 2.0
中,不需要在 .csproj
文件中包含个人 package references
。 Microsoft.AspNetCore.All
元包包含所有必需的包。我们可以将此元数据包包含在 .csproj
文件中,如下所示:
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
这个元包在 .Net Core 应用程序中的主要优缺点是什么? (也考虑跨平台自包含应用程序)
当您针对 .NET Core 2.0 创建 ASP.NET Core 2.0 应用程序 运行ning 时,您应该使用 Microsoft.AspNetCore.All
(对于 ASP.NET Core 2.1 及更高版本,[=推荐 11=] - 从 ASP.NET Core 3.0 Microsoft.AspNetCore.All
将被删除)因为这是推荐的方法并且有助于避免一长串的依赖项。
发布(自包含)应用程序时,将应用摇树优化,这意味着:构建过程将找出元数据包中的哪些数据包将被使用,并将它们从发布的文件夹中剥离以保持大小小的。
使用它的另一个原因是 .NET Core Runtime Store。 Microsoft.AspNetCore.All
包是 运行 时间存储的一部分,因此不需要发布(如上所述),但更重要的是,它是预编译的,因此启动时间也有所缩短。
但是
- 当面向 .NET Framework >= 4.6.1 时,您不能使用
Microsoft.AspNetCore.All
(或Microsoft.AspNetCore.App
),因为它分别需要netcoreapp2.0
和netcoreapp2.1
- 您不能也不应该在便携式 Class 库 (PCL) 中使用它,因为它需要
netcoreapp2.0
而 PCL 应该以netstandard2.0
为目标。有一些例外,例如,如果你依赖一个(ASP.NET Core)包,它在 .NET Core 上只有 运行s(或者你只需要 .NET Core 的 API),因为 PCL 的目标netcoreappx.y
不能 运行 在 .NET Framework 上