.net core dotnet core:何时使用win10而不是win7 RID?

.net core dotnet core:何时使用win10而不是win7 RID?,.net-core,.net Core,在csproj中没有指定RuntimeIdentifiers,我在win7和win10机器上都得到了win7-x64。这两个构建都有效(基于完整框架) 我找不到关于如何选择正确的RID以及同一体系结构和平台RID之间的区别的文档。对于RID,.NET核心默认为win7 .NET框架项目。在大多数情况下,win10和win7运行时标识符产生相同的输出,尤其是对于.NET Framework项目 只有当您依赖于具有Windows 10特定API的NuGet软件包时,这种差异才起作用,如果有的话,很少

在csproj中没有指定
RuntimeIdentifiers
,我在win7和win10机器上都得到了
win7-x64
。这两个构建都有效(基于完整框架)


我找不到关于如何选择正确的RID以及同一体系结构和平台RID之间的区别的文档。

对于RID,.NET核心默认为win7 .NET框架项目。在大多数情况下,win10和win7运行时标识符产生相同的输出,尤其是对于.NET Framework项目

只有当您依赖于具有Windows 10特定API的NuGet软件包时,这种差异才起作用,如果有的话,很少有人这样做。选择与您支持的最低平台匹配的运行时标识符。例如,如果您不打算支持Windows 7、8或8.1,请使用win10


如果您想支持多个平台,也可以同时使用这两种方法。RuntimeIdentifiers接受分号分隔的列表

当您故意希望您的应用程序仅由Windows 10用户使用时

如果你的应用程序确实使用了Windows10特定的功能,这可能会让人感到愉快,这对于控制台和web应用程序来说并不明显,但当微软引入其他项目类型(如GUI应用程序)时,这可能是典型的


目前我能想到的是,Windows 10仅支持HTTP/2等功能。

RID是一个难看的引导细节,因为早期的.NETCore版本中平台支持参差不齐。最终目标是提供一个支持在Windows、MacOS和各种Linux版本上执行的框架。如果它甚至不能在同一个操作系统上跨平台,那么这将是一个错过的目标:)这需要像java.exe或python.exe一样工作,您提供DLL,用户提供适合其机器的任何dotnet.exe。