.NET Standard 是一个接口 - 您可以调用的 API 版本列表。
.NET 标准可以被 .NET framework 和 .NET core 引用。
这是什么意思?
您应该对类库使用 .Net 标准。
.NET framework 和 .NET core 这两个都针对一个平台。
.Net 框架仅适用于 Windows,而 .Net 核心适用于所有三个(Windows/Linux/MacOS)操作系统。 这些不应相互引用。
这就是 .Net 标准存在的原因。
所以要快速回答你的问题。
- 我可以加载 .net 标准程序集吗?如果是,我可以加载哪个特定版本? 是的,您应该使用 .Net 标准
- 能否加载经典的 .net 程序集,例如 .net framework 4.8?如果是,我还可以加载旧版本吗? 你可能可以,当然你不应该
当我有 dotnet framework 4.8 控制台应用程序时,相反的情况如何:
这适用于 .NET 标准。取自 Microsoft Docs。
文档非常清楚您需要注意什么。
下面的文字与屏幕截图中的文字类似。我在这里添加是为了更具可读性。
下表列出了支持每个 .NET Standard 版本的最低平台版本。这意味着所列平台的更高版本也支持相应的 .NET Standard 版本。例如,.NET Core 2.2 支持 .NET Standard 2.0 及更早版本。
指南
除此之外->https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support
为了避免定位错误和传递依赖错误或至少将它们保持在最低限度。使用 .NET 标准时,将包管理更改为 PackageReference。
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
以下链接提供了完整信息以及针对此类错误的一些故障排除提示。
来源:https://www.hanselman.com/blog/ReferencingNETStandardAssembliesFromBothNETCoreAndNETFramework.aspx