【发布时间】:2014-01-09 07:40:22
【问题描述】:
我想使用在 .NET Framework v4.5 中实现的一组功能。因为 Unity3D 在 Mono 运行时(相当于 .NET 3.5)上工作,我认为使用 .NET4.5 程序集作为外部插件。
有可能吗?如果可能,该库将使用哪个运行时 - Mono 或程序集的目标运行时(在我的情况下为 .NET 4.5)?
【问题讨论】:
我想使用在 .NET Framework v4.5 中实现的一组功能。因为 Unity3D 在 Mono 运行时(相当于 .NET 3.5)上工作,我认为使用 .NET4.5 程序集作为外部插件。
有可能吗?如果可能,该库将使用哪个运行时 - Mono 或程序集的目标运行时(在我的情况下为 .NET 4.5)?
【问题讨论】:
据我所知,你不能,因为 unity 在单声道上运行。看看这里http://docs.unity3d.com/410/Documentation/ScriptReference/MonoCompatibility.html
基本上,Unity 升级到 .NET 3.5 或更高版本,具有一些类似于 c# 4.0 的功能,例如可选参数。
要记住的主要一点是,尽管您在构建设置中看到了什么,但 Unity3d 并未使用 .NET 2.0。
编辑 2:
我在某处看到您绝对不能直接引用 4.5 程序集。现在找不到资源了。
无论如何,我想有可能制作一个调用 4.5 程序集的 C++ 包装器。问题是即使你编写了一个以这种方式工作的包装器,它也只能在 Windows 机器上工作。基本上是因为单声道无法在任何其他平台上支持它们。再次在理论上。
免责声明:单声道支持部分只是一个有根据的猜测。我不是 100% 的。
编辑: 这也是一本好书What are the correct version numbers for C#?
【讨论】: