在 Unity 5 中使用 .NET 4.5 代码

Using .NET 4.5 code in Unity 5

我正在使用 Unity3D 版本 5 开发游戏。该游戏应使用已在 C# .NET4.5 引擎中编写的严格业务规则。使用 Xamarin/Mono,我们希望可以在 windows、android、其他...

上使用

我尝试将引擎构建到 dll 中并将其用作 Unity 中的托管插件。但是Unity使用旧版本的Mono来编译整个游戏并且拒绝使用.NET 4.5 dlls。

我真的需要使用这段代码,我研究过将它降级到 .NET 3.5,但考虑到引擎上已经完成的工作,这不是一个可接受的解决方案。

关于android,我想使用Xamarin 获取原生android 代码并将其用作Unity 中的原生插件。现在我需要 Windows 的解决方案。我正在研究在 C++ 中使用 C# 代码制作非托管 dll 的方法,但我很难理解哪种方法适用于 COM 互操作、C++/CLI 或其他方法。

有谁知道如何通过 no/little 的努力将 .NET 4.5 中的代码包含在 Unity 中?

简短的回答是否定的。

Unity 具有“.NET 2.0/3.5 时代的功能”,根据 official blog post

根据同样的 post,Unity 的未来版本将升级到 "a modern version of .NET,",但没有给出这项重大任务的时间表。

注意:本回答是针对原版问题写的,简单的说.NET 4.5库是否可以在Unity中直接使用

使用 visual studio 插件:unmanaged exports,我已经能够将 C# .NET 4.5 导出到我可以在 Unity 引擎中使用的 unmanaged/native dll。 这强制只调用简单的函数,但只需很少的工作,我就可以包装引擎的核心。

看起来 Unity 正在升级到 4.6+,现在可以使用 beta

https://forum.unity3d.com/threads/upgraded-mono-net-in-editor-on-5-5-0b4.433541/