在Unity 5中使用.NET 4.5代码
我正在使用Unity3D版本5开发游戏。游戏应该使用已在C#.NET4.5引擎中编程的严格业务规则。 使用Xamarin / Mono,我们希望在Windows,Android,其他方面使其可用…
我尝试将引擎构建到一个DLL中,并将其用作Unity中的托管插件。 但Unity使用旧版本的Mono来编译整个游戏并拒绝使用.NET 4.5 dll。
我真的需要使用这个代码,我考虑将它降级到.NET 3.5,但鉴于已经在引擎上完成的工作,它不是一个可接受的解决方案。
关于android,我认为使用Xamarin获取原生的android代码并将其用作Unity中的本机插件。 现在我需要一个Windows解决方案。 我正在研究如何使用C ++中的C#代码来创建一个非托管的dll,但我正在努力了解COM互操作,C ++ / CLI或其他方法之间适用的方式。
有没有人知道如何在Unity中包含来自.NET 4.5的代码而没有/只需要很少的努力?
看起来Unity正在升级到4.6+,现在可用于测试版
https://forum.unity3d.com/threads/upgraded-mono-net-in-editor-on-5-5-0b4.433541/
使用visual studio插件: 非托管导出 ,我已经能够将C#.NET 4.5导出到我可以在Unity Engine中使用的非托管/本机dll。 这迫使只调用简单的函数,但是只需要很少的工作,我就可以包装我的引擎的核心。
简短的回答是否定的。
据官方博客文章称 ,Unity拥有“.NET 2.0 / 3.5时代function”。
根据同一篇文章,Unity的未来版本将升级为“.NET的现代版本”,没有给出这项重大任务的时间表。
注意:这个答案是为了回答问题的原始版本而编写的,这只是.NET 4.5库是否可以直接在Unity中使用。