【问题标题】:Failed to load .NET framework 4.0 dll from .NET 6 project无法从 .NET 6 项目加载 .NET Framework 4.0 dll
【发布时间】:2022-11-22 00:39:10
【问题描述】:

我有一个 .NET 6 项目并尝试加载一个第三方 dll,它使用 .NET Framework 4.0 构建,依赖项是 mscorelibSystem.ConfigurationSystem.DataSystem.DrawingSystem.Core,都是版本4.0。

当我遇到该方法时,应用程序异常崩溃:

System.IO.FileNotFoundException:无法加载文件或程序集“**dll,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”。该系统找不到指定的文件。

似乎依赖程序集之间存在一些版本冲突,但某些 .NET Framework 2.0 dll 工作正常。如果我不能要求 dll verdor 构建一个新的,如何解决这个问题?

【问题讨论】:

  • 您不能盲目地从 .net(核心)程序集引用 .net 框架程序集。您应该尝试查找第三方库的更新版本

标签: c# .net-4.0 .net-6.0


【解决方案1】:

如果库使用 .NET Framework 的函数,则它无法在 .NET Core 上运行。如果没有,构建到 .NET Standard 允许它在两者上运行。任何一个:

该库在 .NET Core 上不可用,在这种情况下你运气不好,

它有单独的 .NET Framework 和 .NET Core 版本,在这种情况下,您需要选择正确的版本,

或者库开发人员只为 .NET Framework 编译它,否则可以编译它,在这种情况下,您可以尝试自己编译它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-20
    • 2016-12-08
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 2020-01-01
    相关资源
    最近更新 更多