.Net 6.0 与早期 .Net Core 版本的二进制兼容性

Yev*_*y P 7 .net c# .net-core .net-5 .net-6.0

有几个问题:

  1. 如果我为 .Net 6.0 构建应用程序,它是否可以依赖于为早期运行时构建的库(例如 nuget 包)?我特别对 .Net 5.0 和 .Net Core 3.1 感兴趣。经过尝试,它似乎有效,但我找不到微软对此的任何官方答案/指南。也许有文档链接吗?

  2. 相反,如果我有一个为 .Net 5.0 构建的 SDK 样式项目,为 .Net 6.0 构建的应用程序可以使用它,还是我必须重新定位它?如果我的 SDK 项目是为 .Net Core 3.1 构建的怎么办?

  3. 如果上述问题的答案是肯定的,那么在同一个项目中支持多个 TFM的目的是什么?如果兼容的话为什么不直接使用最早的那个呢?特别是,如果我已经有针对 .Net 5.0 的 SDK 式项目,是否有任何理由使其同时包含 .Net 5.0 和 .Net 6.0 的多目标?