【问题标题】:TypeLoadException after loading .NET 4.5 C# DLL into Unity 2018.2.5将 .NET 4.5 C# DLL 加载到 Unity 2018.2.5 后的 TypeLoadException
【发布时间】:2018-10-22 18:41:58
【问题描述】:

我希望能够将摄像头帧从网络摄像头输入 Unity。我使用 MediaFrameReader 和事件侦听器制作了一个 .NET 4.5 C# DLL。以下是访问 Hololens 相机帧的其他用户实现:Hololens - Access Camera Frames

当我将 DLL 导入我的 2018.2.5 Unity 项目时,它给了我以下错误:

  1. 正在卸载损坏的程序集“....”,此程序集可能会导致运行时崩溃
  2. TypeLoadException:由于类型加载错误而找不到方法

C# 插件在 Visual Studio 上多次成功构建。此外,我已将 Api 兼容级别(在播放器设置中)正确设置为 .NET 4.x。有什么办法可以解决这个问题?

与此相关的所有其他 SO 答案我已经看过了,但似乎对问题没有帮助。感谢大家的帮助。

编辑:https://issuetracker.unity3d.com/issues/unity-fails-to-load-net-4-dot-6-assemblies-with-typeloadexception 是最相关的帖子,但没有解决方案。

【问题讨论】:

    标签: unity3d dll .net-4.5


    【解决方案1】:

    我有几个可能的解决方案供您探索。

    DLL 问题:

    解决方法:

    注释您的 UWP 代码(使用 DLL 的部分),然后在没有 DLL 的 UNITY 中构建它。在生成的 UWP 解决方案中,从 nuget 安装包或手动导入 dll,然后取消注释您的代码并完成开发。这是一个短期解决方案。当您多次重新构建解决方案并且必须注释/取消注释然后重新添加 dll 等等时,这会很烦人。

    其他可能的解决方案:

    Failed to run reference rewriter with command error with unity error when adding a DLL to the assets folder

    您的确切需求

    根据您的描述,您确实不需要您引用的链接中的所有内容 (Hololens - Access Camera Frames)。你需要更简单的版本。我最近为 HoloLens 创建了 MediaCapture 解决方案作为一种解决方法,因为 Unity 中的 PhotoCapture 在 HoloLens 中不起作用,并且在没有任何额外 DLL 的情况下一切正常。我会为你发布几个链接,看看它是否对你有帮助:

    1. MediaCapture Unity 和 HoloLens:https://github.com/MSAlshair/HoloLensMediaCapture

    这对您来说可能是一个好的开始。您可以将其与您的原始参考相结合。使用此项目作为起点,以确保您的项目构建正确,然后使用您发布的其他资源中的必要代码来完成您想要的任务。 可能需要下载Unity 2018.2.12f1,因为我在2018.2.5没有测试过

    1. 媒体捕捉和照片捕捉:Hololens font camera

    祝你好运!

    【讨论】:

    • 感谢您的意见,希望我能解决这个问题。我会将其标记为答案:)
    • 不客气。我刚刚提交了一个处理这个烂摊子的项目,所以我完全理解你的痛苦:) 如果你遇到困难,请告诉我,如果可以的话,我会尽力帮助你。祝你好运!
    猜你喜欢
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    相关资源
    最近更新 更多