[英]Compatibility of dynamically loaded assemblies
我想在运行时动态加载 dotnet 程序集。
假设我有 netcore 3.1 控制台应用程序:
当我有 dotnet framework 4.8 控制台应用程序时,相反的情况呢:
.NET Standard 是一个接口- 您可以调用的 API 版本列表。
.NET 标准可以被 .NET 框架和 .NET 核心引用。
这是什么意思?
您应该对类库使用 .Net 标准。
.NET 框架和 .NET 核心这两个目标是一个平台。 .Net 框架仅适用于 Windows,而 .Net 核心适用于所有三个(Windows/Linux/MacOS)操作系统。 这些不应相互引用。
这就是 .Net 标准存在的原因。
所以要快速回答你的问题。
当我有 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.