Microsoft.AspNetCore.App for ASP.NET CoreMicrosoft.AspNetCore.App for ASP.NET Core
- 面向
Microsoft.NET.Sdk.Web
SDK 的项目隐式引用Microsoft.AspNetCore.App
框架。
对于这些项目,不需要其他引用:
ASP.NET Core 共享框架:
- 不包括第三方依赖项。
- 包括 ASP.NET Core 团队支持的所有包。
此功能需要面向 .NET Core 2.x 的 ASP.NET Core 2.x。
适用于 ASP.NET Core 的 元包:
- 不包括第三方依赖项,、Remotion.Linq 和 除外。为确保正常使用主要框架功能,这些第三方依赖项均为必要条件。
- 包括 ASP.NET Core 团队支持的所有软件包,包含第三方依赖项的软件包(不包括上文所述)除外。
- 包括 Entity Framework Core 团队支持的所有软件包,包含第三方依赖项的软件包(不包括上文所述)除外。
Microsoft.AspNetCore.App
包中包含了 ASP.NET Core 2.x 和 Entity Framework Core 2.x 的所有功能。面向 ASP.NET Core 2.x 的默认项目模板使用此包。建议面向 ASP.NET Core 2.x 和 Entity Framework Core 2.x 的应用程序使用 Microsoft.AspNetCore.App
包。
使用 Microsoft.AspNetCore.App
元包可提供用于保护应用的版本限制:
- 添加到应用的其他包无法更改
Microsoft.AspNetCore.App
中包含的包版本。 - 版本一致性能确保可靠的体验。
Microsoft.AspNetCore.App
旨在防止在同一应用中结合使用未经测试的相关位版本组合。
使用 Microsoft.AspNetCore.App
元包的应用程序会自动使用 ASP.NET Core 共享框架。使用 Microsoft.AspNetCore.App
元包时,应用程序不部署所引用的 ASP.NET Core NuGet 包中的任何资产 — .NET Core 共享框架包含这些资产 。共享框架中的资产已经过预编译,以便缩短应用程序启动时间。有关详细信息,请参阅共享框架。
以下项目文件为 ASP.NET Core 引用 元包,,它表示一种典型的 ASP.NET Core 2.2 模板:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>
前面的标记表示典型的 ASP.NET Core 2.x 模板。它不会为 Microsoft.AspNetCore.App
包引用指定版本号。如果未指定版本,SDK 会指定版本,即 。建议使用 SDK 指定的隐式版本,而不是在包引用上显式设置版本号。如果对这种方法有任何疑问,可以在 Microsoft.AspNetCore.App 隐式版本讨论上发表 GitHub 评论。
对于便携式应用,隐式版本设置为 major.minor.0
。共享框架前滚机制将在安装的共享框架的最新兼容版本上运行应用。为确保在开发、测试和生产中使用相同的版本,请确保在所有环境中都安装相同版本的共享框架。对于独立应用,将隐式版本号设置为在已安装的 SDK 中捆绑的共享框架的 major.minor.patch
。
<Project Sdk
必须设置为 Microsoft.NET.Sdk.Web
以使用隐式版本 Microsoft.AspNetCore.App
。使用 <Project Sdk="Microsoft.NET.Sdk">
(不带尾随 .Web
)时:
- 生成以下警告:
警告 NU1604:项目依赖项 Microsoft.AspNetCore.App 不包括包含下限。请在依赖项版本中包括下限,以确保一致的还原结果。
- 这是 .NET Core 2.1 SDK 的一个已知问题。
Microsoft.AspNetCore.App
元包不是从 NuGet 更新的传统包。类似于 Microsoft.NETCore.App
,Microsoft.AspNetCore.App
表示共享运行时,它具有在 NuGet 之外处理的特殊版本控制语义。有关详细信息,请参阅。
更新 ASP.NET Core:
- 在开发计算机和生成服务器上:下载并安装 .NET Core SDK。
- 在部署服务器上:下载并安装 。
如果应用程序之前使用 ,请参阅从 Microsoft.AspNetCore.All 迁移到 Microsoft.AspNetCore.App。