在构建 .NET Core 独立部署时,目标 OS 版本越高越好吗?
When building a .NET Core self-contained deployment, are higher target OS versions better?
创建 self-contained .NET Core deployment 时,您需要指定目标平台的运行时 ID,例如 win7-x64
或 win10-x64
。
我们发现这些目标是向后兼容的(我可以 运行 在我的 Windows 10 开发人员机器上针对 win7-x64
的应用程序。
我的问题是:定位尽可能高的运行时 ID 有什么好处吗?我们的服务器是 2008 R2,这意味着我们必须以 win81-x64
或更低版本为目标。针对 win81-x64
与 win7-x64
是否有 运行时间考虑因素?
这是一个 good document explains Runtime IDs,以及它们之间的关系。
RID(运行时 ID)有一个回退机制,在 runtime.json file in that folder.
在某些情况下,您可以使用更高的 RID 获得更好的资产,例如,如果 NuGet 包具有 win7
资产和 win10
资产,其中 win10
资产点亮 win10
中的功能。这些情况不会经常发生,也不会真正发生在核心 .NET 运行时中,但在 3rd 方包中是可能的。
我的建议是将 RID 用于您所定位的最低 OS 版本。如果您不打算在您的应用中支持 win7
,请使用 win8
或更高版本。
创建 self-contained .NET Core deployment 时,您需要指定目标平台的运行时 ID,例如 win7-x64
或 win10-x64
。
我们发现这些目标是向后兼容的(我可以 运行 在我的 Windows 10 开发人员机器上针对 win7-x64
的应用程序。
我的问题是:定位尽可能高的运行时 ID 有什么好处吗?我们的服务器是 2008 R2,这意味着我们必须以 win81-x64
或更低版本为目标。针对 win81-x64
与 win7-x64
是否有 运行时间考虑因素?
这是一个 good document explains Runtime IDs,以及它们之间的关系。
RID(运行时 ID)有一个回退机制,在 runtime.json file in that folder.
在某些情况下,您可以使用更高的 RID 获得更好的资产,例如,如果 NuGet 包具有 win7
资产和 win10
资产,其中 win10
资产点亮 win10
中的功能。这些情况不会经常发生,也不会真正发生在核心 .NET 运行时中,但在 3rd 方包中是可能的。
我的建议是将 RID 用于您所定位的最低 OS 版本。如果您不打算在您的应用中支持 win7
,请使用 win8
或更高版本。