gpt4 book ai didi

com - 通过 COM/SxS 在 Unity3d 中使用 .NET 4.0 DLL?

转载 作者:行者123 更新时间:2023-12-05 01:32:13 27 4
gpt4 key购买 nike

为了简化我的问题,我会尽量简短:

我正在使用 Unity 的专业版,并且我有 2 个 DLL:

  • .NET 3.5 程序集(充当 COM 客户端)
  • .NET 4.0 程序集(具有通过 COM 公开的接口(interface))

  • 3.5 使用 COM 与 4.0 一起工作。在 Windows 应用程序中使用 3.5 程序集可以正常工作,它通过 Type.GetTypeFromCLSID() 或 Type.GetTypeFromProgID() 使用 SxS 加载 4.0 dll(我已经通过 SxStrace 确认),并且可以很好地使用它的功能。 (Windows 应用程序通过 list 提到它依赖于 4.0 DLL,我没有注册 COM DLL。)

    我正在尝试在 Unity 中使用 .NET 4.0 DLL。显然我不能直接使用它,因为目前 Unity 使用的 Mono 版本最多只支持 3.5,因此我创建了 3.5 程序集作为我的中间人。我可以很好地统一使用 3.5 程序集,但是我之前提到的任何一种 Type 方法都会抛出 NotImplementedException(s),因为显然 Unity(或者更确切地说,Mono)不支持它们,所以我在损失。

    有任何想法吗?

    最佳答案

    尽管这个问题是 1 年前提出的。遗憾的是,中间人策略仍然行不通,因为 Mono 不支持依赖项,所以无法在 Unity3D 中使用 .NET 4.0 dll。
    如果可能的话,您可以尝试从 dll 中删除任何 4.0 依赖项并将其编译为 3.5。

    关于com - 通过 COM/SxS 在 Unity3d 中使用 .NET 4.0 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7416320/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com