In ASP.NET Core 2.0
无需包括个人package references
in the .csproj
file. Microsoft.AspNetCore.All
元包包含所有必需的包。我们可以将此元包包含在.csproj
文件为:
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
这个元包在 .Net Core 应用程序中的主要优点和缺点是什么? (也考虑跨平台自包含应用程序)
当您创建针对 .NET Core 2.0 运行的 ASP.NET Core 2.0 应用程序时,您应该使用Microsoft.AspNetCore.All
(对于 ASP.NET Core 2.1 及更高版本,Microsoft.AspNetCore.App
推荐 - 来自 ASP.NET Core 3.0Microsoft.AspNetCore.All
将被删除),因为这是推荐的方法,并且有助于避免一长串依赖项。
发布(自包含)应用程序时,将应用树摇动,这意味着:构建过程将找出将使用元包内的哪些包,并将它们从已发布的文件夹中删除以保持较小的大小。
使用它的另一个原因是.NET Core 运行时存储. The Microsoft.AspNetCore.All
package 是运行时存储的一部分,因此不需要发布(如上所述),但更重要的是,它是预编译的,因此启动时间也有所改善。
However
- 你不能使用
Microsoft.AspNetCore.All
(or Microsoft.AspNetCore.App
)当面向 .NET Framework >= 4.6.1 时,因为它需要netcoreapp2.0
and netcoreapp2.1
分别
- 您不能也不应该在可移植类库(PCL)中使用它,因为它需要
netcoreapp2.0
PCL 应该瞄准netstandard2.0
。有一些例外,例如,如果您依赖于仅在 .NET Core 上运行的 (ASP.NET Core) 包(或者您只需要 .NET Core API),因为 PCL 目标netcoreappx.y
无法在.NET Framework 上运行
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)