首页 > 解决方案 > 从文件加载程序集并调用 GetExportedTypes

问题描述

我在 .Net framework 4.5 下有一个应用程序,它可以从文件中打开一个程序集,并将其中的 tyes 作为一个数组返回,然后我可以使用它。

我需要将该应用程序更新为 .Net 5,当我在其上调用 GetTypes 或 GetExportedTypes 时,它会引发 FileNotFoundException。我知道原因是该 dll 中存在嵌入式依赖关系,但我不介意忽略其中包含的任何类型。我只需要基本 dll 中的类型。无论如何,我似乎找不到任何方法来检索类型而不会遇到此异常,并在谷歌搜索新的正确方法来执行此操作但无济于事。

这是用于在 .Net 框架中工作的简化代码块。

    private bool CheckAssembly(FileInfo assemblyPath)
    {
        var asm = Assembly.LoadFrom(assemblyPath.FullName);

        var types = asm.GetExportedTypes();

        ...
    }

标签: typesreflection.net-assembly

解决方案


推荐阅读