构建.NET核心自包含部署时,目标操作系统版本越高越好吗?
创建时,需要指定目标平台的运行时ID,例如构建.NET核心自包含部署时,目标操作系统版本越高越好吗?,.net,.net-core,project.json,.net,.net Core,Project.json,创建时,需要指定目标平台的运行时ID,例如win7-x64或win10-x64 我们发现这些目标是向后兼容的(我可以在我的Windows 10 developer机器上运行针对win7-x64的应用程序) 我的问题是:以尽可能高的运行时ID为目标有什么好处吗?我们的服务器是2008 R2,这意味着我们必须针对win81-x64或更低版本。针对win81-x64与win7-x64是否存在运行时注意事项?以下是一个示例,以及它们之间的关系 RID(运行时ID)有一个后备机制,该机制在中列出 在某些情
win7-x64
或win10-x64
我们发现这些目标是向后兼容的(我可以在我的Windows 10 developer机器上运行针对win7-x64的应用程序)
我的问题是:以尽可能高的运行时ID为目标有什么好处吗?我们的服务器是2008 R2,这意味着我们必须针对win81-x64
或更低版本。针对win81-x64
与win7-x64
是否存在运行时注意事项?以下是一个示例,以及它们之间的关系
RID(运行时ID)有一个后备机制,该机制在中列出
在某些情况下,您可以使用更高的RID获得更好的资产,例如,如果NuGet包具有win7
资产和win10
资产,则win10
资产点亮了win10
中的功能。这些情况并不经常发生,在核心.NET运行时中也不会发生,但在第三方软件包中是可能的
我的建议是将RID用于目标的最低OS版本。如果您不打算在应用程序中支持
win7
,请使用win8
或更高版本。只有在有原因的情况下,您才应该选择更高版本。或者某些依赖依赖依赖于此,或者您只是想停止支持较旧的操作系统。我怀疑存在这种区别是为了隔离WinRT应用程序(又名UWP、又名Phone、又名Store、又名Modern UI)。Win7不支持此操作。因此,如果您不以WinRT为目标,那么依赖win7-x64可以为您提供支持的最大OS版本数。