56

我已经关注Roslyn有一段时间了,我对此感到好奇和兴奋。我注意到的一件事是他们提到编译器是用托管代码重写的。这就提出了一个问题,即 Roslyn 是否能够在非 .NET 虚拟机上运行,​​例如Mono

真的很想在我的视频游戏中嵌入使用 Roslyn 的 C# 脚本,并在我的应用程序中使用它们的许多其他功能,但我想知道使用 Roslyn 是否会破坏它在 Mono 上运行的能力。

有人试过在 Mono 上运行 Roslyn 吗?是否可以?为什么或者为什么不?

澄清一下,我对托管程序集是否可以在 Mono 上运行以及它是否可以生成 mono 可以运行的程序集感兴趣。

4

2 回答 2

30

尽管这是 Eric 最想不到的事情,但 Roslyn 已作为真正的开源(Apache 2.0)发布,实际上现在是跨平台的。

Xamarin 的 Miguel de Icaza在 BUILD 上展示了它在 Mono 上运行。

当 Roslyn 发布时,它将成为 Mono 的一部分。他们已经在 Mono Git repo 维护了一个分支

于 2014-04-18T11:30:05.317 回答
17

正如@Govert 在评论中已经提到的那样,如果您想嵌入 C# 脚本功能,您应该简单地使用 Mono 等效库/工具:Mono-Csharp。(特别是因为,即使 Roslyn可以在 Mono 上运行,它的许可证也可能规定您不允许这样做。)

Mono 世界中的这个工具比 Roslyn BTW 早得多,并且是开源的。在这里,您甚至有一位 Microsoft 员工在博客上发布了它并将其上传到 Nuget:

http://blog.davidebbo.com/2012/02/quick-fun-with-monos-csharp-compiler-as.html

我希望你的游戏会踢屁股!

于 2013-02-03T12:07:03.063 回答