为了过度简化我的问题,我会尽量保持简短:
我正在使用Unity的专业版,我有2个DLL:
3.5使用COM来处理4.0。在Windows应用程序中使用3.5程序集工作正常,它使用SxS通过Type.GetTypeFromCLSID()或Type.GetTypeFromProgID()(我已经使用SxStrace确认)加载4.0 dll,并且可以正常使用它的功能。 (Windows应用程序通过清单提到它依赖于4.0 DLL,我没有注册COM DLL。)
我正在尝试在Unity中使用.NET 4.0 DLL。显然我不能直接使用它,因为Unity使用的Mono目前的风味仅支持3.5,因此我创建了3.5组件作为我的中间人。我能够在团结中使用3.5程序集,但是我之前提到的任何一种Type方法都抛出NotImplementedException(s),因为Unity(或者更确切地说,Mono)显然不支持它们,所以我在损失。
有什么想法吗?
答案 0 :(得分:1)
虽然这个问题是在1年前提出的。但是中间人的策略仍然无法使用,因此不可能在Unity3D中使用.NET 4.0 dll,因为Mono不支持依赖关系。 您可以尝试从dll中删除任何4.0依赖项,并将其编译为3.5,如果可以的话。