C# 动态加载程序集的兼容性

C# 动态加载程序集的兼容性,c#,.net,.net-core,C#,.net,.net Core,我想在运行时动态加载dotnet程序集 假设我有netcore 3.1控制台应用程序: 我可以加载.net标准程序集吗?如果是,我可以加载哪个特定版本 我可以加载经典的.net程序集,如.net framework 4.8吗?如果是,我还可以加载旧版本吗 当我有dotnet framework 4.8控制台应用程序时,情况正好相反: 我可以加载.net标准程序集吗 我可以加载旧的经典.net吗,比如程序集.net framework 4.6 .NET标准是一个接口——一个可调用的API版本

我想在运行时动态加载dotnet程序集

假设我有netcore 3.1控制台应用程序:

  • 我可以加载.net标准程序集吗?如果是,我可以加载哪个特定版本
  • 我可以加载经典的.net程序集,如.net framework 4.8吗?如果是,我还可以加载旧版本吗
当我有dotnet framework 4.8控制台应用程序时,情况正好相反:

  • 我可以加载.net标准程序集吗
  • 我可以加载旧的经典.net吗,比如程序集.net framework 4.6

    • .NET标准是一个接口——一个可调用的API版本列表

      .Net标准可以被.Net framework和.Net core引用

      这是什么意思

      对于类库,您应该使用.Net标准

      .NET framework和.NET core这两个版本的目标是一个平台。 .Net framework仅适用于Windows,而.Net core适用于所有三种(Windows/Linux/MacOS)操作系统这些不应相互引用。

      这就是.Net标准存在的原因

      因此,请快速回答您的问题

      • 我可以加载.net标准程序集吗?如果是,我可以加载哪个特定版本是的,您应该使用.Net标准
      • 我可以加载经典的.net程序集,如.net framework 4.8吗?如果是,我还可以加载旧版本吗您可能可以,当然您不应该
      当我有dotnet framework 4.8控制台应用程序时,情况正好相反:

      • 我可以加载.net标准程序集吗是的
      • 我可以加载旧的经典.net吗,比如程序集.net framework 4.6?对但是,请仔细看看这里->
      这是针对.NET标准的。摘自微软文档

      文档非常清楚您需要注意的事项。 下面的文本与屏幕截图中的文本相似。我在这里添加是为了更具可读性

      下表列出了支持每个.NET标准版本的最低平台版本。这意味着列出的平台的更高版本也支持相应的.NET标准版本。例如,.NET Core 2.2支持.NET标准2.0及更早版本

      指导 除此之外->

      为了避免目标错误传递依赖性错误,或者至少将它们保持在最低限度。使用.NET标准时,将包管理更改为包引用

      PackageReference

      下面的链接提供了这些错误的完整信息和一些疑难解答提示


      来源:

      .NET标准是一个接口——一个可以调用的API版本列表

      .Net标准可以被.Net framework和.Net core引用

      这是什么意思

      对于类库,您应该使用.Net标准

      .NET framework和.NET core这两个版本的目标是一个平台。 .Net framework仅适用于Windows,而.Net core适用于所有三种(Windows/Linux/MacOS)操作系统这些不应相互引用。

      这就是.Net标准存在的原因

      因此,请快速回答您的问题

      • 我可以加载.net标准程序集吗?如果是,我可以加载哪个特定版本是的,您应该使用.Net标准
      • 我可以加载经典的.net程序集,如.net framework 4.8吗?如果是,我还可以加载旧版本吗您可能可以,当然您不应该
      当我有dotnet framework 4.8控制台应用程序时,情况正好相反:

      • 我可以加载.net标准程序集吗是的
      • 我可以加载旧的经典.net吗,比如程序集.net framework 4.6?对但是,请仔细看看这里->
      这是针对.NET标准的。摘自微软文档

      文档非常清楚您需要注意的事项。 下面的文本与屏幕截图中的文本相似。我在这里添加是为了更具可读性

      下表列出了支持每个.NET标准版本的最低平台版本。这意味着列出的平台的更高版本也支持相应的.NET标准版本。例如,.NET Core 2.2支持.NET标准2.0及更早版本

      指导 除此之外->

      为了避免目标错误传递依赖性错误,或者至少将它们保持在最低限度。使用.NET标准时,将包管理更改为包引用

      PackageReference

      下面的链接提供了这些错误的完整信息和一些疑难解答提示

      来源:

      给你->给你->