bsm*_*all 4 .net c# mono unity-game-engine
我将Unity与Visual Studio一起使用,这很棒。但是,我对.NET,Mono和Unity之间到底如何相互关联感到困惑。我没有该领域的专业经验,需要澄清。这些陈述是对还是错?
那我的评价是多少?我哪里错了?
(请客气。英语不是我的母语)。
- .Net frameWork并非设计为跨平台形式。
取决于您是否希望在其中包含Linux。如果您要问.NET是否最初是针对Linux设计的,则否。但是,有一个.NET Compact Framework,它允许.NET代码运行Xbox 360和Windows Phone。
现在有.NET Core,这是一个免费的开源框架,专为跨平台(尤其是Windows,Mac和Linux)而设计。
- .Net frameWork的目标是以统一的方式设计程序,并且程序必须全部运行并且是虚拟机。
是。正确的术语是执行引擎,尽管它们属于同一类,但不是VM。不要将EE视为类似于vmWare的东西,在vmWare中,CPU指令不断被仿真。.NET像Java一样,是p代码的一种形式,但是.NET程序集与当前CPU进行了JIT集成,以提高性能并在CPU上本地运行。[1]
- Mono是.Net frameWork的开放源代码版本,设计为跨平台形式。用它构建的程序可以在有单虚拟机的任何地方运行。
是。.NET Core具有相同的主张。[4]
- 用mono frameWork构建的程序无法运行,或与.Net虚拟机不完全兼容。
跨多个版本的Mono框架不是等效的.NET Framework的1:1。
例如
- 在编辑,构建和运行游戏中,Unity仅使用Mono frameWork。
不正确 Unity还使用Unity Script编写游戏。
但是,无论您选择哪种语言,运行时都有很大的不同。当说通过Unity Web Player进行网络浏览器定位时,没有.NET / Mono EE。该平台是Unity Web Player。从这个意义上说,目标平台上不需要.NET / Mono。[3]
- 使用Unity构建的游戏已嵌入了mono框架和/或mono虚拟机。
不正确,请参见上文
- 我不需要.Net frameWork即可构建或运行Unity游戏。
正确
- 我在Unity中编写的C#脚本在构建时间之前和之后均由一个单虚拟机运行。所有Unity引擎公共代码库都是c ++封装的,实际上不是C#,因此它们在c ++端引擎上运行。
错误的是,您选择用来编写Unity游戏的语言与运行时是否存在.NET / Mono EE之间没有关联。
- mono frameWork工具和库在具有Mono虚拟机的游戏中运行。
要看。
- 用.Net frameWork构建的Dll与mono不完全兼容。
不正确 是Mono,它可能会或可能不会与等效的.NET Framework完全兼容。[2]
1 “ CLR是虚拟机吗?” ,MSDN
2 兼容性,单声道
3 Unity Web Player如何工作?,Quora
4 .NET Core框架-与.NET Framework跨平台,MSDN
| 归档时间: |
|
| 查看次数: |
2184 次 |
| 最近记录: |